Ответ 1
Существует несколько разных типов прокси-серверов. Поскольку вы упомянули заголовки запросов, я собираюсь предположить, что вы говорите о прокси-серверах HTTP, которые перенаправляют HTTP-запросы, а не пакеты.
ПРИМЕЧАНИЕ: В специальном случае HTTPS-запросы (TLS/SSL через CONNECT
), прокси-сервер будет просто перенаправлять содержимое пакетов TCP (и не может проверять пакеты, не действуя как man-in-the-middle прокси).
Конечно, это зависит от прокси-программного обеспечения и его конфигурации, но ожидается, что прокси-серверы HTTP будут следовать рекомендациям W3C для протоколов преобразования веб-контента, в котором говорится много вещей, но наиболее важно:
-
Помимо преобразования между
HEAD
иGET
прокси не должны изменять методы запроса. -
Если запрос содержит директиву
Cache-Control: no-transform
, прокси не должны изменять запрос, кроме как соответствовать прозрачному HTTP-поведению, определенному в разделе 14.9.5 раздела RFC 2616 HTTP и разделу 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) включать поле заголовка
Via
HTTP.
В общем, вы можете ожидать, что эти HTTP-заголовки будут изменены/добавлены прокси-сервером, совместимым со стандартами:
-
User-Agent
-
Accept
-
Accept-Charset
-
Accept-Encoding
-
Accept-Language
-
X-Forwarded-For
-
Via