HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR有什么区别?

Eth*_*man 62 proxy header http ip-address

据我所知,HTTP_X_FORWARDED_FOR代理服务器设置了一个标头,用于标识通过代理发出HTTP请求的主机的IP地址.我听说过标题HTTP_CLIENT_IP是出于类似目的设置的.

  1. HTTP_CLIENT_IP和之间有什么区别HTTP_X_FORWARDED_FOR
  2. 为什么一个人的价值观不同于另一个?
  3. 我在哪里可以找到有关这些标题的确切定义的资源.

Dav*_*dom 60

这些标题都没有正式标准化.因此:

  1. What is the difference between HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR? - 这是不可能的.不同的代理可以实现这些,也可以不实现.实现可能因代理而异,也可能不同.缺乏标准会产生问号.
  2. Why would one have different values than the other?- 参见第1点.但是,从纯粹实际的角度来看,我可以看到这些具有不同值的唯一原因是,如果涉及多个代理 - X-Forwarded-For:标题可能包含转发链的完整跟踪,而Client-IP:header将包含实际的客户端IP.然而,这是纯粹的推测.
  3. Where can I find resources on the exact definition of these headers. - 你不能.见第1点.

关于标题似乎确实存在某种事实上的标准X-Forwarded-For:,但鉴于没有定义它的RFC,所以不能依赖它,请参阅下面的注释.

作为旁注,Client-IP:标题应符合惯例,X-Client-IP:因为它是"用户定义的"标题.

  • 它现在似乎有一个RFC:http://tools.ietf.org/html/draft-petersson-forwarded-for-02.看起来虽然还在草案中. (10认同)
  • RFC 7239不再是草案:https://tools.ietf.org/html/rfc7239似乎未来的标准是替换"X-Forwarded-For"和"X-Client-IP". (5认同)
  • ***有用***_1)_ http://stackoverflow.com/questions/6914457/why-does-servervariableremote-addr-returns-the-server-ip _2)IIS7/8:记录真实客户端IP IIS点击logs_ https://blogs.iis.net/deanc/iis7-8-logging-the-real-client-ip-in-the-iis-hit-logs _3)Advanced Logging_ https://www.iis. net/downloads/microsoft/advanced-logging _4)_ http://www.loadbalancer.org/blog/iis-and-x-forwarded-for-header _5)_ https://www.iis.net/learn/得到-开始/什么新功能于iis85 /增强型日志换iis85 (2认同)