Возможные типы значения заголовка HTTP

#http-headers

Вопрос:

Тип значения, передаваемого через строку запроса, всегда является строкой. Когда HTTP — клиенту нужно отправить номер, скажем 42 , на самом деле "42" . Все, что содержится в строке запроса, на самом деле является строкой.

Это то же самое для типа значений, передаваемых через заголовок ?

Другими словами, если мы отправим HTTP-запрос с "FooBar" заголовком со значением 42 и другим запросом , в котором значение заголовка равно "42" , будет ли сервер воспринимать два полученных значения как одного и того же типа и значения (т. Е. "42" )?

Комментарии:

1. Я задавался этим вопросом сегодня!

Ответ №1:

Это всегда строка, даже в HTTP/2

Комментарии:

1. Ссылка? Я не вижу ни одного. Я попытался поискать, и ваш ответ приходит, но вряд ли он является авторским.

2. @dsign Я попытался провести свое исследование, которое привело меня сюда. Я просто спрашивал, есть ли у вас ссылка, так как я не смог ее найти, и, поскольку я неявно несу ответственность за переопределение частей спецификации , я не могу просто доверять какому-то случайному утверждению в сети. Но через Википедию я смог найти RFC7230. Ценные ответы со всей необходимой информацией-одна из целей SO, поэтому я не пытался вас обидеть 🙂

Ответ №2:

tldr; Заголовки-это текст, иногда ISO 8859, но обычно только US-ASCII.

Согласно RFC7230 (последний абзац), поля HTTP раньше были текстовыми, и новые заголовки должны продолжать это делать, ограничивая значения октетами US-ASCII.

В 1982 RFC822 указывается ASCII в качестве формата тела заголовка.

Ссылки (найдены в списке HTTP-заголовков):