【问题标题】:What is the difference between HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR?HTTP_CLIENT_IP 和 HTTP_X_FORWARDED_FOR 有什么区别?
【发布时间】:2011-11-18 17:22:07
【问题描述】:

我了解标头HTTP_X_FORWARDED_FOR 由代理服务器设置,以识别通过代理发出HTTP 请求的主机的IP 地址。我听说标题 HTTP_CLIENT_IP 是出于类似目的而设置的。

  1. HTTP_CLIENT_IPHTTP_X_FORWARDED_FOR 有什么区别?
  2. 为什么一个值会与另一个值不同?
  3. 在哪里可以找到有关这些标头的确切定义的资源。

【问题讨论】:

    标签: http proxy header ip-address


    【解决方案1】:

    这些标头都没有正式标准化。因此:

    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: 标头将包含实际的客户端 IP。不过,这纯属猜测。
    3. Where can I find resources on the exact definition of these headers. - 你不能。见第 1 点。

    似乎确实有some kind of de-facto standardX-Forwarded-For: 标头有关,但鉴于没有定义它的RFC,这不能依赖请参阅下面的评论。

    附带说明,Client-IP: 标头按照惯例应为 X-Client-IP:,因为它是“用户定义”标头。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-19
    • 2018-12-09
    • 2010-10-02
    • 2011-12-12
    • 2010-09-16
    • 2012-03-14
    • 2012-02-06
    • 2011-02-25
    相关资源
    最近更新 更多