V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
passerby123
V2EX  ›  HTTP

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

  •  
  •   passerby123 · 2017-06-28 19:44:11 +08:00 · 1859 次点击
    这是一个创建于 2498 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2017-06-28 21:10:32 +08:00
    wevsty
        1
    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
        2
    choury  
       2017-06-28 19:53:29 +08:00
    我一个 ip 有好几个站,你用 ip 我是返回哪个站的内容好呢?
    lslqtz
        3
    lslqtz  
       2017-06-28 20:57:46 +08:00
    接上 1 楼的:
    如果通过 TCP 层面阻止的话,应该是全部丢包。
    而实际情况一般都是 301,403,或者重置连接之类的。。
    所以这是在 HTTP 上做的处理,而不是 TCP 上的。
    GoBeyond
        4
    GoBeyond  
       2017-06-28 21:10:32 +08:00 via Android
    原理是识别 header 里的 Host 字段
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1137 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:52 · PVG 01:52 · LAX 10:52 · JFK 13:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.