2012-01-25 4 views
1

Я читаю через HTTP 1.1 RFC, и я не могу ответить на следующий вопрос.Могу ли я отделить все HTTP-заголовки запятой? Даже авторизация?

У нас есть заголовок:

Authorization: Basic Qmxvb21iZXJnOnRjbG1lU1JT, Basic 

, которая вызывает проблемы, потому что Rails 3 парсер авторизации неправильно декодирует строку из-за «» характер. Это очень редко, я знаю, но мы добавим это, используя эту конфигурацию Apache HTTPD:

RequestHeader append Authorization "Basic" early 

Apache mod_header documentation говорит:

Заголовок ответа приложен к любому существующему удару головой того же именем. Когда новое значение объединяется в существующий заголовок, он отделен от существующего заголовка запятой. Это стандартный HTTP-код , позволяющий присвоить заголовку несколько значений.

Но я не думаю, что это правильно для этого заголовка авторизации. Определение RFC этого не позволяет. Но некоторые заголовки разрешают список, разделенный запятыми. Я не уверен, что это общее правило для всех HTTP-заголовков.

Я ищет абзац в HTTP 1.1 RFC, который подтверждает мою идею, это неверно. Я уже нашел что-то, что говорит «это справедливо только для заголовков, которые могут быть разделены», но это не доказательство.

несколько полей заголовка с тем же имя поля может присутствовать в сообщении, если и только если все поле значение для этого поля заголовка определяется как разделенный запятыми список [то есть # (значения)]. Необходимо ДОБАВИТЬ , чтобы объединить несколько полей заголовка в одну пару «поле-имя: поле-значение» , не изменяя семантику сообщения , добавив каждое последующее значение поля в первое, каждый из , разделенных запятая. Поэтому порядок, в который получены поля заголовка с таким же именем поля , имеет важное значение для интерпретации комбинированного значения поля, и, таким образом, прокси НЕ ДОЛЖЕН изменять порядок этих значений полей при отправке сообщения.

Это действительно не имеет смысла, но я ищу четкое доказательство.

ответ

2

Ответ в тексте вы цитируемый:

«Несколько полей заголовка с тем же именем поля могут присутствовать в сообщении, если и только если все поле значение для этого поля заголовка определенно как список, разделенный запятой [т.е. # (значения)] ".

Это не относится к «Авторизации».

+0

Ну, я ничего не смог найти. Похоже, это после 7 часов сна :-) – lzap

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