Formato de X-Reenviado-Para
El formato general de este encabezado HTTP es el siguiente:
X-Forwarded-For: client1, proxy1, proxy2, proxy3
El valor se pasa por una coma + espacio Para distinguir varias direcciones IP, la más a la izquierda (cliente1) es la dirección IP del cliente original. Cada vez que el servidor proxy recibe con éxito una solicitud, agrega la dirección IP de origen de la solicitud a la derecha. En el ejemplo anterior, la solicitud pasó con éxito a través de tres servidores proxy: proxy1, proxy2 y proxy3. La solicitud es emitida por el cliente1 y llega al proxy3 (el proxy3 puede ser el punto final de la solicitud). Cuando la solicitud se envía por primera vez desde el cliente1, XFF está vacío y la solicitud se envía al proxy1 cuando pasa por el proxy1, el cliente1 se agrega a XFF y luego la solicitud se envía al proxy2 cuando pasa por el proxy2 y el proxy1 se agrega a XFF; Luego, la solicitud se envía al proxy3; al pasar el proxy3, el proxy2 se agrega a XFF y se desconoce el destino de la solicitud. Si el proxy3 no es el final de la solicitud, la solicitud continuará reenviándose.
Dado lo fácil que es falsificar este campo, el campo X-Forwarded-For debe usarse con precaución. En circunstancias normales, la última dirección IP en XFF es la dirección IP del último servidor proxy, que suele ser una fuente de información más confiable.