Qual è la differenza tra HTTP_CLIENT_IP e HTTP_X_FORWARDED_FOR?

Capisco che un’intestazione HTTP_X_FORWARDED_FOR viene impostato dal server proxy per identificare l’indirizzo ip dell’host che sta effettuando la richiesta HTTP tramite proxy. Ho sentito sostiene che l’intestazione HTTP_CLIENT_IP è impostato per scopi simili.

  1. Quale è la differenza tra HTTP_CLIENT_IP e HTTP_X_FORWARDED_FOR?
  2. Perché hanno valori diversi rispetto agli altri?
  3. Dove posso trovare le risorse sull’esatta definizione di queste intestazioni.

 

One Reply
  1. 58

    Nessuna di queste intestazioni sono ufficialmente standardizzato. Quindi:

    1. What is the difference between HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR? – è impossibile dire. Diversi proxy può implementare queste, o non può. Le implementazioni possono variare da un proxy per il prossimo, e loro non possono. Una mancanza di uno standard di razze punti di domanda.
    2. Why would one have different values than the other? – Vedi punto 1. Tuttavia, da un puro punto di vista pratico, l’unico motivo che vedo per questi avere valori diversi se è più di un proxy è stato coinvolto – il X-Forwarded-For: intestazione potrebbe quindi contenere una traccia completa della catena di trasferimento, mentre il Client-IP: intestazione contiene il vero IP del client. Questa è pura speculazione, tuttavia.
    3. Where can I find resources on the exact definition of these headers. – Non è possibile. Vedi punto 1.

    Ci sembra di essere un qualche tipo di standard de-facto per quanto riguarda il X-Forwarded-For: intestazione, ma dato che non c’è nessun RFC che definisce questo non può essere invocato vedi commento qui sotto.

    Come nota a margine, il Client-IP: intestazione per convenzione essere X-Client-IP: poiché si tratta di un ‘definito dall’utente’ intestazione.

Lascia un commento