Путаница с многострочными заголовками HTTP - PullRequest
7 голосов
/ 25 декабря 2011

В HTTP заголовки могут быть многострочными.

Например:

Слово дня: лиса перепрыгивает
коричневая собака.

Однако, читая стандарт, я пришел к выводу, что начальные и конечные пробелы МОГУТ быть удалены , поэтому мы получаем «The Fox Jumps Overhe brown dog». Более становится одним словом, когда на самом деле оно должно было быть «над» (два слова, разделенные пробелами).

Как мне обработать синтаксический анализ значений HTTP в таких ситуациях, например, как объединить многострочные заголовки HTTP, чтобы они означали то же самое, что и однострочные заголовки?

1 Ответ

13 голосов
/ 25 декабря 2011

Пробел перед the не является ни начальным, ни конечным.

Раздел 4.2 стандарта определяет начальные / конечные пробелы как «линейный пробел, встречающийся перед первым непробельным символом»значения поля или после последнего непробельного символа значения поля ".Этот пробел не находится ни перед первым символом значения поля, ни после последнего.

Правило для этого типа линейного пробела внутри значения поля состоит в том, что он "МОЖЕТ быть заменен одним [пробел] перед интерпретацией значения поля или пересылкой сообщения вниз по течению. "

Таким образом, мы получаем" Лиса перепрыгивает через коричневую собаку ".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...