2011-12-24 2 views
6

В заголовках HTTP может быть многострочный.Многострочные HTTP заголовки Confusion

Например:

Word-Of-The-Day: The Fox перепрыгивает
                коричневую собаку.

Однако при чтении стандарт, я пришел к выводу, что начальные и конечные пробелы могут быть удалены, так что мы получаем «The Fox Прыгает Overthe коричневую собаку.» Overthe становится одним словом, когда действительно должно было быть «над» (два слова, разделенные пробелами).

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

ответ

12

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

Section 4.2 of the standard определяет ведущее/конечное пустое пространство как «линейное белое пространство, имеющее место перед первым не-пробельным символом значения поля или после последнего небелосового символа значения поля». Это пространство не должно быть до первого символа значения поля или после последнего.

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

Итак, мы получаем «Фокс прыгает над коричневой собакой».

+0

Я читал, что это было похоже на ведущее пространство, когда я смотрел на свалку. Не думал об этом, как в середине, потому что это было началом линии. – unixman83

Смежные вопросы