关于域名和 ip 的问题 求大神解答一下

2017-06-28 19:44:11 +08:00
 passerby123

就是一个域名最终都会转化成 ip 来定位到服务器对吧,那为什么还可以设置为只能通过域名访问 禁止使用 ip 访问的方式呢?求解释。

1879 次点击
所在节点    HTTP
4 条回复
wevsty
2017-06-28 19:49:03 +08:00
在 TCP 层面上是没办法阻止通过 IP 访问的.
之所以可以只允许指定域名访问是因为 HTTP 协议里面规定了 Host 头
比如访问百度那么 Host 头就是这样的。
Host: www.baidu.com
如果是直接用 IP 访问,那么 Host 头就是。
Host: 127.0.0.1
也就是实际上是在 HTTP 这个应用层协议上通过判断 Host 头来区分用户是怎么样访问 web 的,
choury
2017-06-28 19:53:29 +08:00
我一个 ip 有好几个站,你用 ip 我是返回哪个站的内容好呢?
lslqtz
2017-06-28 20:57:46 +08:00
接上 1 楼的:
如果通过 TCP 层面阻止的话,应该是全部丢包。
而实际情况一般都是 301,403,或者重置连接之类的。。
所以这是在 HTTP 上做的处理,而不是 TCP 上的。
GoBeyond
2017-06-28 21:10:32 +08:00
原理是识别 header 里的 Host 字段

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371756

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX