Добавляется или изменяется ли какой-либо заголовок запроса в HTTP-запрос перед пересылкой на сервер прокси-сервером?
Если да, то вносятся ли изменения в те же пакеты или содержимое используется для создания новых пакетов запросов с изменениями?
Добавляется или изменяется ли какой-либо заголовок запроса в HTTP-запрос перед пересылкой на сервер прокси-сервером?
Если да, то вносятся ли изменения в те же пакеты или содержимое используется для создания новых пакетов запросов с изменениями?
Существует несколько различных типов прокси-серверов. Поскольку вы упомянули заголовки запросов, я предполагаю, что вы говорите о прокси-серверах HTTP, которые пересылают HTTP-запросы, а не пакеты.
ПРИМЕЧАНИЕ. В особом случае запросов HTTPS (TLS/SSL через CONNECT
), прокси-серверы будут просто пересылать содержимое TCP-пакеты (и не могут проверять пакеты, если только они не действуют в качестве человека в -средний прокси).
Конечно, это зависит от программного обеспечения прокси-сервера и его конфигурации, но ожидается, что прокси-серверы HTTP будут следовать Руководство для прокси-серверов преобразования веб-контента, в котором говорится о многих вещах, но наиболее важно:
Кроме преобразования между HEAD
и GET
прокси не должны изменять методы запроса.
Если запрос содержит директиву Cache-Control: no-transform
, прокси-серверы не должны изменять запрос, кроме как для соблюдения прозрачного поведения HTTP, определенного в разделах 14.9.5 и 13.5.2 RFC 2616 HTTP, и для добавления полей заголовка, как описано в 4.1.6 Дополнительные поля заголовка HTTP.
За исключением изменений, требуемых RFC 2616, прокси-серверы HTTP не должны изменять значения полей заголовка, кроме полей заголовка User-Agent
, Accept
, Accept-Charset
, Accept-Encoding
и Accept-Language
, и не должны удалять поля заголовка.
Прокси должны добавлять IP-адрес инициатора запроса в конец списка, разделенного запятыми, в X-Forwarded-For
Поле заголовка HTTP.
Прокси должны (в соответствии с RFC 2616) включать поле заголовка HTTP Via
.
Таким образом, обычно можно ожидать, что эти заголовки HTTP будут изменены/добавлены прокси-сервером, соответствующим стандартам:
User-Agent
Accept
Accept-Charset
Accept-Encoding
Accept-Language
X-Forwarded-For
Via
CONNECT
), они пересылают содержимое TCP-пакетов, не глядя (или имея возможность смотреть, если только не прокси-сервер MITM), являются ли они HTTP-запросами.
- person Bruno; 04.05.2012