¿Los servidores proxy HTTP modifican los paquetes de solicitud?
http-headers httprequest (1)
¿Se agrega o modifica algún encabezado de solicitud a la solicitud HTTP antes de reenviarlo al servidor mediante un servidor proxy?
Si es así, ¿se realizan los cambios en los mismos paquetes o se utilizan los contenidos para crear nuevos paquetes de solicitud con las modificaciones?
Hay algunos tipos diferentes de servidores proxy. Debido a que ha mencionado los encabezados de solicitud, voy a suponer que está hablando de servidores proxy HTTP, que reenvían solicitudes HTTP, no paquetes.
NOTA: En el caso especial de las solicitudes HTTPS (TLS / SSL a través de CONNECT
), los servidores proxy simplemente reenviarán el contenido de los paquetes TCP (y no podrán inspeccionar los paquetes a menos que actúen como un proxy de man-in-the-middle ).
Por supuesto, depende del software de proxy y su configuración, pero se espera que los proxies HTTP sigan las Directrices del W3C para los proxies de transformación de contenido web , que establecen muchas cosas, pero lo más relevante:
Aparte de convertir entre los proxies
HEAD
yGET
no se deben alterar los métodos de solicitud.Si la solicitud contiene una directiva
Cache-Control: no-transform
, los proxies no deben alterar la solicitud más que para cumplir con el comportamiento HTTP transparente definido en la sección 14.9.5 de HTTP RFC 2616 secciones y la sección 13.5.2 y agregar campos de encabezado como se describe en 4.1.6 Campos de encabezado HTTP adicionales .Aparte de las modificaciones requeridas por RFC 2616, los proxies HTTP no deben modificar los valores de los campos de encabezado que no sean los campos de encabezado
User-Agent
,Accept
,Accept-Charset
,Accept-Encoding
yAccept-Language
y no deben eliminar los campos de encabezado.Los proxies deben agregar la dirección IP del iniciador de la solicitud al final de una lista separada por comas en un campo de encabezado HTTP
X-Forwarded-For
Los proxies deben (de acuerdo con RFC 2616) incluir un campo de encabezado
Via
HTTP.
En resumen, generalmente puede esperar que estos encabezados HTTP sean modificados / agregados por un proxy compatible con los estándares:
-
User-Agent
-
Accept
-
Accept-Charset
-
Accept-Encoding
-
Accept-Language
-
X-Forwarded-For
-
Via