Что такое полная спецификация HTTP-заголовка X-Forwarded-Proto?

Что такое полная спецификация значений заголовков X-Forwarded-Proto HTTP?

Ответ 1

Нет "полной спецификации" - это стандарт де-факто. X- перед именем заголовка обычно * обозначил его как экспериментальный/нестандартный/специфичный для вендора. Как только он станет стандартной частью HTTP, он потеряет префикс.

Есть некоторые работы из IETF по его стандартизации, но это только на этапах проекта, насколько я могу судить. Проверьте http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded-10 для последнего черновика на момент написания этой статьи. Но имейте в виду, что он может измениться в любое время, пока он будет создан, и не полагайтесь на него в производстве.

Update:

RFC 7239 теперь определяет заголовок Forwarded:, который предназначен для замены X-Forwarded-*. Если вы заботитесь о стандартах, я бы рекомендовал использовать их вместо этого.


* Раньше это была официальная вещь, но ее больше не было. RFC 6648 отменяет соглашение о префиксах X-. К сожалению, конвенция настолько широко известна (и такая сдержанная сдержанность), что большинство людей, не входящих в IETF, вероятно, игнорируют эту рекомендацию.

Ответ 2

Наконец, RFC 7239 - перенаправленный HTTP-расширение от июня 2014 года. Заголовок определен в разделе 5.4.

Некоторые примеры:

Forwarded: proto=https
Forwarded: for=1.2.3.4;proto=http

Я просто надеюсь, что это не займет слишком много времени, чтобы получить широкое распространение. Пример разнообразия заголовков из-за отсутствия стандарта можно увидеть в этом вопросе .

Ответ 3

Я не знаю "полной спецификации".

Рабочая группа IETF APPSArea недавно решила определить новое поле заголовка "Переадресовано", которое должно заменить поля заголовка "X-Forwarded- *", которые вы упомянули.

Подробнее см. http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded.