永发信息网

为什么用IP无法访问网站,域名可以访问?

答案:1  悬赏:60  手机版
解决时间 2021-03-28 00:42
为什么用IP无法访问网站,域名可以访问?
最佳答案
因为是虚拟主机,主机上放置了N个网站,而每个网站绑定1个或以上域名,所以用域名访问主机可以解析到网站目录,但用IP的话服务器就不知道解析到哪个目录了!
因为http请求里包含了域名信息,所以用域名访问,虚拟主机服务器会根据域名来返回网站,直接用IP访问是因为没有域名信息,所以服务器不知道要访问的是哪个网站目录,只有共享IP的虚拟主机或者VPS才有这情况,像有邦定独立IP功能或者独立主机的服务器就可以直接通过域名和ip都可以访问。
为什么有些网站通过host可以访问而直接输入ip不能?
第一种可能:

假如是一次单纯的http请求,指定host用域名访问,和直接输入ip访问,效果应当是一样的,但仅限于一次请求。现如今,当你打开一个网页,事情会变得复杂很多,网页不光是一个html,还有许多css样式、javascript脚本、其他网页元素(Flash等)需要下载,执行js脚本或Flash插件的时候,还会进行新的网络请求。
html里包含的css、js资源地址,以及js脚本发出的网络请求地址,可能是用域名记录的(而非IP地址)。假如是改host的方式,那么你的系统知道,这个域名对应正确的IP地址,可顺利访问。如果是没有host,输入IP访问,那么对于网页资源、脚本中的域名地址,系统不知道这个域名就是你输入的IP,仍需要通过DNS获取IP地址,DNS有问题的话,就不能正确加载。
墙最早只做DNS劫持、污染,通过域名得不到正确的IP,如果你ping一个网址,实际ping的是假的IP地址,可能是超时无响应,可能是错误的服务器的回应,但你ping它的IP地址,结果是正确的,所以改host有效。后来墙高级了,可以阻拦、劫持你的请求,那么怎么ping都会出问题。值得注意的是,仍有很多网站只有DNS污染,没有针对IP地址的行为(或网站IP地址在不断更新,墙的更新慢一拍),所以改host仍然有效。
第二种可能:
有些网站服务器端程序需要通过你的URL来决定返回的内容(可能一个IP地址上的服务器需要同时提供两个网站的访问),那么你的URL中不包含正确的域名,服务器程序就没办法回应你(不知道你要访问的到底是个啥),只好返回个错误。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
用无法割舍造一个句子
佛教说的能遣所遣是什么意思
name of co-ordinator一般填什么
安溪压茶机禁止使用?禁止的了吗?
谁能告诉我深圳娱乐场所集中的地方在什么位置
fifa online3 世界最佳11人谁将绝版?
如何从文化的角度去认识奢侈品并理智消费
索尼a6300相机m0vle键在哪
上海哪里有自存仓?
一块长方形地周长是120米,长是40米,这块地
2016猴宝宝大名张尚泽,小名叫什么呢,希望是
Unless they are programmed by humans, comp
学文科真的会没有前途吗?
猪蹄切开后发现内部有个洞,洞壁上都是肉芽似
歌词里带 有一道光,刺破黑夜的。。。。
推荐资讯
高分悬赏删除2345网址导航的方法
《三生三世十里桃花》白浅夜华有几个孩子?
大慈集团有工商营业执照吗
一首歌是贾老板唱的,是一首小黄曲,问一下什
并列关系连词中,“和”“跟”“与”有什么区
餐桌东西放还是南北放
唐朝时的中日大战详细情况
4平方米铜线能带多少瓦电器
黑界柔七 百度资料?
演讲如何结尾
臧金生的人物评价
97年幸福250摩托车现在能值多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?