Spec-Zone.ru › HTTP

Пересылаемый

Пересылаемый

Заголовок запроса Forwarded содержит информацию, которую могут добавить обратные прокси-серверы (балансировщики нагрузки, CDN и т. д.), которая иначе была бы изменена или потеряна, если бы прокси-серверы участвовали в обработке запроса.

Например, если клиент подключается к веб-серверу через HTTP-прокси (или балансировщик нагрузки), в журналы сервера будет включён только IP-адрес, адрес хоста и протокол прокси; этот заголовок может использоваться для идентификации IP-адреса, хоста и протокола исходного запроса. Заголовок является необязательным и может быть добавлен, изменён или удалён любым из прокси-серверов на пути к серверу.

Этот заголовок используется для отладки, статистики и генерации контента, зависящего от местоположения. По своему назначению он раскрывает чувствительную к конфиденциальности информацию, такую как IP-адрес клиента. Поэтому при развертывании этого заголовка необходимо учитывать конфиденциальность пользователя.

Альтернативные и фактические стандартные версии этого заголовка — X-Forwarded-For, X-Forwarded-Host и X-Forwarded-Proto заголовки.

Тип заголовка Заголовок запроса
Запрещённое имя заголовка нет

Синтаксис

Синтаксис заголовка пересылки от одного прокси показан ниже. Директивы являются key=value парами, разделёнными точкой с запятой.

Forwarded: by=<identifier>;for=<identifier>;host=<host>;proto=<http|https>

Если между клиентом и сервером находится несколько прокси-серверов, каждый из них может указать свою пересылаемую информацию. Это можно сделать, добавив новый Forwarded заголовок в конец блока заголовков или добавив информацию в конец последнего заголовка Forwarded в виде списка, разделённого запятыми.

Директивы

by Необязательно

Интерфейс, через который запрос пришёл на прокси-сервер. Идентификатор может быть:

  • замаскированным идентификатором (таким как «скрытый» или «секретный»). Это следует рассматривать как значение по умолчанию.
  • IP-адресом (v4 или v6, необязательно с портом, и ipv6 заключён в квадратные скобки).
  • «неизвестно», если предыдущий элемент неизвестен (и вы всё ещё хотите указать, что пересылка запроса была выполнена)
for Необязательно

Клиент, который инициировал запрос и последующие прокси в цепочке прокси. Идентификатор имеет те же возможные значения, что и директива by.

host Необязательно

Поле заголовка запроса Host, полученное прокси.

proto Необязательно

Указывает протокол, использованный для отправки запроса (обычно «http» или «https»).

Примеры

Использование заголовка Forwarded

Forwarded: for="_mdn"

# case insensitive
Forwarded: For="[2001:db8:cafe::17]:4711"

# separated by semicolon
Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43

# Values from multiple proxy servers can be appended using a comma
Forwarded: for=192.0.2.43, for=198.51.100.17

Переход от X-Forwarded-For к Forwarded

Если ваше приложение, сервер или прокси поддерживают стандартизированный заголовок Forwarded, заголовок X-Forwarded-For можно заменить. Обратите внимание, что IPv6-адрес заключён в квадратные скобки в Forwarded.

X-Forwarded-For: 123.34.567.89
Forwarded: for=123.34.567.89

X-Forwarded-For: 192.0.2.43, "[2001:db8:cafe::17]"
Forwarded: for=192.0.2.43, for="[2001:db8:cafe::17]"

Спецификации

Спецификация
Расширение HTTP Forwarded
# раздел-4

См. также

  • X-Forwarded-For
  • X-Forwarded-Host
  • X-Forwarded-Proto
  • Via — предоставляет информацию о самом прокси, а не о клиенте, подключающемся к нему.

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Forwarded

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API