首页 > 网站如何判断访问者location

网站如何判断访问者location

访问国外官方网站会自动重定向到中国官网,第一次访问国外官网时,服务器如何判断访问者位置的?


一般通过IP来判断。


此处分两种情况:

在不使用代理的情况下(服务端也没有使用代理,包括CDN等),http请求头中默认是不带IP的,即使带了IP,也容易被篡改,此IP是不可信的。

但是,我们知道,HTTP是基于TCP协议的,而在TCP建立连接的时候,双方可以从物理协议层面获取彼此的IP,注意,这一现象和http无关。而在使用代理的情况下,服务器通过TCP获取的IP地址其实是代理IP的地址,所以就不再可靠。好在,一般代理IP会在Http的请求头上加上原来的IP地址,传递到服务端,这种情况下才可以通过http头获取到IP。

但归根结底,IP是都可以获取到的。


ip就可以,通常服务器从请求的header里拿出ip就可以通过一些ip查询服务获取用户的大概位置了


有这样的IP查询服务
http://ip.chinaz.com/siteip

实际操作的过程中,往往直接在IP路由层面上就直接根据请求过来的源地址把HTTP消息做重定向了,而不是用HTTP头里的IP,原因
1) 默认没IP
2) 大多数我们上网的IP都是一个运营商映射后的NAT之后的IP,这个IP对于运营商的网络来说是一个虚拟IP,而非真实IP。

而服务器是位于公网的,服务器可以直接在TCP链路层就知道对端的映射后的IP地址

【热门文章】
【热门文章】