Spec-Zone.ru › HTTP

Заголовки: Forwarded

Заголовок Forwarded

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

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

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

Альтернативными и фактически общепринятыми версиями этого заголовка являются заголовки X-Forwarded-For, X-Forwarded-Host и X-Forwarded-Proto.

Тип заголовка Заголовок запроса
Запрещённый заголовок запроса Нет

Синтаксис

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

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

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

Директивы

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

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

  • скрытый идентификатор (например, «hidden» или «secret»). Его следует использовать по умолчанию.
  • IP-адрес (IPv4 или IPv6, при необходимости с портом; адрес IPv6 заключается в кавычки и квадратные скобки)
  • «unknown», если предшествующий узел неизвестен (но при этом нужно указать, что запрос был перенаправлен)
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 можно заменить. Обратите внимание: в Forwarded адрес IPv6 заключается в кавычки и квадратные скобки (в отличие от заголовка X-Forwarded-For).

X-Forwarded-For: 192.0.2.172
Forwarded: for=192.0.2.172

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

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

Спецификация
Расширение HTTP Forwarded>

См. также

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

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

Spec-Zone.ru

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