Изменяют ли HTTP прокси-серверы пакеты запросов?


Добавляется ли или изменяется ли заголовок запроса к HTTP-запросу перед пересылкой на сервер прокси-сервером?

Если да, то вносятся ли изменения в одни и те же пакеты или содержимое используется для создания новых пакетов запросов с изменениями?

1 16

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