Qual è la differenza tra HTTP_CLIENT_IP e HTTP_X_FORWARDED_FOR?

Capisco che un’intestazione HTTP_X_FORWARDED_FOR sia impostata dai server proxy per identificare l’indirizzo IP dell’host che sta facendo la richiesta HTTP attraverso il proxy. Ho sentito affermare che l’intestazione HTTP_CLIENT_IP è impostata per scopi simili.

  1. Qual è la differenza tra HTTP_CLIENT_IP e HTTP_X_FORWARDED_FOR ?
  2. Perché uno dovrebbe avere valori diversi rispetto all’altro?
  3. Dove posso trovare le risorse sulla definizione esatta di queste intestazioni.