全部展开
因为是虚拟服务器,服务器上放置了N个网站,每个网站都绑定一个或多个域名,所以使用域名访问电脑服务器即可解析到网站目录,但是使用IP,服务器将不知道解析到哪个目录!
由于http请求中包含域名信息,通过域名访问时,由于没有域名信息,虚拟主机服务器会根据DirectIP访问域名返回网站。因此服务器不知道要访问哪个站点文件夹,这只能通过共享IP虚拟服务器或VPS实现。例如,具有独立IP功能的服务器相连,或者可以通过域名和IP直接访问独立的服务器。
为什么有的网站可以通过服务器访问,但不能直接输入IP地址访问?
第一种可能:
如果是简单的http请求,指定服务器使用域名访问,直接输入IP地址也可以,但效果有限。对一个请求。如今,当您打开网站时,事情变得更加复杂。网站不仅仅是html,还具有许多需要呈现的css样式、javascript脚本和其他网站元素(Flash等)。下载了。当执行js脚本或Flash插件时,也会发出新的网络请求。
html中包含的css、js资源地址,以及js脚本发出的网络请求地址,都可以用域名(但不能是IP地址)来记录。如果你更换服务器,你的系统就知道这个域名对应的是正确的IP地址,可以顺利访问。如果没有Host,而你输入IP来访问,那么对于Web资源或脚本中的域名地址,系统并不知道域名就是输入的IP,但仍然需要通过DNS获取IP地址。如果DNS有问题,则无法正确加载。
最初,墙只是进行DNS劫持和污染。通过域名无法获取准确的IP。如果您ping某个网站,则ping到的实际IP地址可能是假IP地址。超时且无响应,可能服务器响应错误,但当您ping其IP地址时,结果是正确的,因此服务器更改有效。然后,随着墙变得更加先进,可以阻止和劫持你的请求,无论你如何ping都会出现问题。值得注意的是,还有很多网站只受到DNS污染,并不针对IP地址(或者网站IP地址不断更新,更新墙速度慢),所以更换托管还是可以有效的。
上一篇:宿主机ping不通虚拟机
下一篇:主机通过虚拟机上网