
454
HTTP
4
부 엔터티, 인코딩, 국제화
16.6
기타 고려사항
이 절에서는 국제화된 HTTP 애플리케이션을 작성할 때 명심해야 할 다른 몇 가지
에 대해 논의한다.
16.6.1
헤더와 명세에 맞지 않는 데이터
HTTP 헤더는 반드시 US-ASCII 문자집합의 글자들로만 이루어져야 한다. 그러나
모든 클라이언트와 서버가 이를 올바르게 구현한 것은 아니므로, 때때로 127보다
큰 코드 값을 갖는 잘못된 문자를 받게 될 수도 있다.
많은 HTTP 애플리케이션은 글자들을 처리하기 위해 운영체제와 라이브러리 루
틴을 사용한다(예를 들어, 유닉스 ctype 문자 구분 라이브러리와 같은). 이 모든 라
이브러리가 ASCII 범위(0-127)를 벗어난 글자를 지원하지는 않는다.
몇몇 상황에서는(일반적으로, 오래된 구현을 사용하는 경우), 이 라이브러리들은
ASCII가 아닌 글자가 주어졌을 때 부적절한 결과를 반환하거나 충돌을 일으킨다.
HTTP 메시지를 처리하기 위해 문자 구분 라이브러리를 사용하기 전에, 메시지에
잘못된 데이터가 포함되어 있을 경우를 대비해 그 라이브러리의 문서를 주의 깊게
읽어야 한다.
16.6.2
날짜
HTTP 명세는 올바른 GMT 날짜 형식을 명확히 정의하고 있지만 모든 웹 서버와 클
라이언트가 규칙을 따르고 있지 않음에 주의하라. 예를 들어,