2012-11-08 4 views
6

MIME 헤더 내에서 헤더 필드 이름과 ':'구분 기호 사이에 공백이 허용됩니까? 예를 들어, 다음과 같습니다MIME 헤더 필드 이름과 ':'구분 기호 사이에 공백이 허용

Content-Type: <value> 

Content-Type : <value> 

동등한?

또한 여기에 설명되어있는 MIME 표준에 대한 포인터를 제공해 주실 수 있습니까? 나는 몇 가지를 확인했지만 그것을 찾지 못했습니다.

감사합니다.

답변

3

표준에 의해 허용되는지 여부는 명확하지 않습니다. 그러나 구현은 헤더 필드 이름과 콜론 사이의 공백을 처리하는 방법이 다릅니다. 가능한 경우 공백을 피하는 것이 좋습니다.

RFC for reference. This somewhat old article discusses the issue for HTTP headers, 유사한 표준.

+0

응답 해 주셔서 감사합니다. 서버에서 메시지를 파싱 중이므로 공백을 허용하는 것이 현명 할 것 같습니다. –

+3

문서 포인터를 보내 주셔서 감사합니다. 그것은 공백이 허용된다는 것을 명확하게 기술한다. ** 3.1.4. 구조화 된 본문 집합 구조화 된 필드의 생성과 읽기를 돕기 위해(CRLF를 포함하여 접기 을 허용하는) 선형 공백을 자유롭게 삽입 할 수 있습니다. ** –

4

'허용'의 의미에 따라 다릅니다. 1982 RFC822를 폐지 한 RFC 28225322 (2822는 폐기 됨)은 특히 필드 이름과 콜론 사이의 WS 삽입을 금지합니다 (이들은 'MIME'표준, BTW가 아닙니다).

from = "From:" mailbox-list CRLF 

그러나, 여기 공간, 새로운 RFC의 수 않았다 고대 RFC822가되지 않는 구문이 일방 체약국 : : 예를 들어, 토큰이 아니며, 단지 필드 이름의 일부로 참조합니다 "반드시 준수하는 수신기에 의해 받아 들여지고 분석되어야한다". 오래된 From: 헤더 정의는, 예를 들면,

obs-from = "From" *WSP ":" mailbox-list CRLF 

제 4 오래된 구문을 포함 하였다. 나는 실제로 내 수신기에서 쓸모없는 구문을 허용하지 않으며, 나는 결코 문제가 없었습니다.

관련 문제