X-Forwarded-For

来源:互联网 发布:mysql 时间戳相减 编辑:程序博客网 时间:2024/05/17 04:07

 有次一个同事询问,为什么经过一个网页请求经过了Http代理服务器后,网站依然能够获知访问者的真实IP地址。不是经过代理了吗?两个原因无法获得真实IP:TCP连接是在代理和网站之间,而非用户与网站之间的;HTTP协议只是第七层协议,怎么会把IP层的访问者的源IP信息也发送了呢?

    实际上我相信当年设计代理服务器的专家们也遇到了同样的问题,就是如何能把访问者的源IP(而不是代理服务器的IP)发送给网站服务器呢?当年squid的专家们设计了这样一种解决办法:在HTTP包头部分插入一个header名为X-Forwarded-For(简称XFF),值为客户端的真实IP地址。这样,尽管TCP连接是代理和网站之间建立的,但网站依然可以通过解析包头并读取X-Forwarded-For而获得用户的真实IP。

0 0
原创粉丝点击