Изменяют ли HTTP прокси-серверы пакеты запросов?
Добавляется ли или изменяется ли заголовок запроса к HTTP-запросу перед пересылкой на сервер прокси-сервером?
Если да, то вносятся ли изменения в одни и те же пакеты или содержимое используется для создания новых пакетов запросов с изменениями?
1 ответ:
Существует несколько различных типов прокси-серверов. Поскольку вы упомянули заголовки запросов, я предполагаю, что вы говорите о прокси-серверах HTTP, которые передают HTTP-запросы, а не пакеты.
Примечание: в частном случае HTTPS запросов (TLS/SSL через
CONNECT
), прокси-серверы будут просто пересылать содержимое TCP-пакетов (и не смогут проверять пакеты, если не будут действовать как человек в середине полномочие).
Конечно, это зависит от программного обеспечения прокси и его конфигурации, но HTTP прокси ожидаются , чтобы следовать W3C рекомендации для прокси-серверов преобразования веб-контента, что говорит о многом, но наиболее уместно:
Кроме преобразования между
HEAD
иGET
прокси не должны изменять методы запроса.Если запрос содержит директиву
Cache-Control: no-transform
, прокси не должны изменять запрос. чем соблюдать прозрачное поведение HTTP, определенное в RFC 2616 http разделы раздел 14.9.5 и раздел 13.5.2 и добавить поля заголовка, как описано в 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