http协议 客户端ip REMOTE_ADDR 何时添加上去的

下面是我的分析:
1:不可能是浏览器添加上去的,因为浏览器不知道你真实的外部IP,而且会根据你的内外网不同的情况,服务器端得到不同的信息
2:有可能是经过网关的时候,自动添加上去的。

阅读 7.8k
1 个回答

可以说是浏览器加上去的。浏览器在调用socket,发送出报文的时候,在IP和TCP的报文首部,会包含源地址、源端口、目标地址和目标端口,服务器在接收到数据包的时候,只要看一下IP报文的首部和TCP报文的首部就知道是谁发过来的了。

对于NAT的情况,NAT服务器(也就是你所说的网关)会帮你转换,更改源地址和源端口号码,传回来的时候再改回来,以达到共享地址的目的,所以,对于服务器端,看到的是你外网的IP地址。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进