
第一步通过域名查找到 IP 地址,然后发送 HTTP 请求~
有一个比较疑惑的地方是:我直接输入域名对应的 IP 地址,会发生什么?
然后测试了一下,发现输入百度对应的 IP 地址,还是正常返回;输入 CSDN 的 IP 地址就只返回了个 OK~~有大神能帮忙解释一下吗?
1 xiaoxiaomo OP ? |
2 ovear 2016-03-06 20:59:29 +08:00 如果是域名 HTTP 中的 HOST 头为域名 否则为 IP 善用 chrome f12 |
3 v1024 2016-03-06 21:12:05 +08:00 这是个老套的开放式的问题,第一步甚至可以说键盘触发了电信号…… 你的问题呢,因为一个 ip 下可以绑定不限量的域名,通过域名来确定返回什么内容,而百度配置成了通过纯 ip 访问则跳转到百度首页, csdn 就没有做此考虑,却少 hostname 时直接给个 80 端口的默认内容。 |
4 xmh51 2016-03-06 21:13:17 +08:00 看 http 的请求头。例如 Host:www.hostloc.com 一个 ip 可以对应多个网站,某些主机检测 host ,如果 host 不在列表的话,则返回默认页面。 |
5 Exin 2016-03-06 21:43:11 +08:00 via Android @v1024 这个点让我想起一个 GitHub 项目就是记录“按下回车时发生了什么”,当初浏览了一下,发现他们的讨论已经延伸到微观物理了 。。。 |
6 Mutoo 2016-03-06 22:05:59 +08:00 |
7 bdbai 2016-03-06 22:16:18 +08:00 via iPhone |
8 ming2050 2016-03-06 22:18:39 +08:00 学着配置配置 apache httpd/nginx/iis 你对这个就会有很深的理解了 |
10 shyling 2016-03-06 22:57:28 +08:00 ip/域名返回结果不同其实是因为服务器的处理问题(域名不是指向这个 ip 的话,当我没说) |
11 Slienc7 2016-03-07 08:54:01 +08:00 via Android Ref: HTTP the definitive guide |
12 xiaoxiaomo OP 其实我还是没懂。。。 |
13 xiaoxiaomo OP 我网上也看过挺多这方面的文章的~~就是这个点理解的不是很透彻 |