Что такое полная спецификация HTTP-заголовка X-Forwarded-Proto?
Что такое полная спецификация X-Forwarded-Proto
Значения HTTP-заголовка?
3 ответа
Не существует "полной спецификации" - это де-факто стандарт. X-
перед именем заголовка обычно * обозначает его как экспериментальное / нестандартное / специфичное для поставщика. Как только это стандартная часть HTTP, он теряет префикс.
IETF проделала определенную работу по его стандартизации, но, насколько я могу судить, это только на стадии разработки. Посетите http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded-10 чтобы ознакомиться с последним проектом на момент написания этой статьи. Но имейте в виду, что он может измениться в любое время, пока его разрабатывают, и пока не полагайтесь на него в производстве.
Обновить:
RFC 7239 теперь определяет Forwarded:
заголовок, который предназначен для замены X-Forwarded-*
, Если вы заботитесь о стандартах, я бы рекомендовал использовать это вместо.
* Раньше это была официальная вещь, но больше нет. RFC 6648 осуждает X-
соглашение о префиксе. К сожалению, эта конвенция настолько широко известна (а устаревший - настолько скромный), что большинство людей за пределами IETF, вероятно, проигнорируют эту рекомендацию.
Наконец, RFC 7239 - Переданное расширение HTTP с июня 2014 года. Заголовок определен в разделе 5.4.
Некоторые примеры:
Forwarded: proto=https
Forwarded: for=1.2.3.4;proto=http
Я просто надеюсь, что это не займет слишком много времени, чтобы получить широкое признание. Пример разнообразия заголовков из-за отсутствия стандарта ( отсюда):
X-Forwarded-Proto: https
(де-факто стандарт)X-Forwarded-Protocol: https
X-Forwarded-Ssl: on
X-Url-Scheme: https
Front-End-Https: on
Я не знаю о "полной спецификации".
Рабочая группа IETF APPSArea недавно решила определить новое поле заголовка "Forwarded", которое должно заменить поля заголовка "X-Forwarded-*", которые вы упомянули.
См. http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded для получения подробной информации.