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: httpsX-Forwarded-Ssl: onX-Url-Scheme: httpsFront-End-Https: on
Я не знаю о "полной спецификации".
Рабочая группа IETF APPSArea недавно решила определить Новое поле заголовка "Forwarded", которое должно заменить упомянутые вами поля заголовка "X-Forwarded -*".
См http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded для деталей.
Comments