Web服务器如何知道您是否使用直接IP地址访问?

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-00

通常,我们只是输入我们想要查看的网站的地址,但如果我们使用直接IP地址,网络服务器实际上是否“知道”? 今天的超级用户问答有一个困惑的读者的问题的答案。

今天的问答环节由我们感谢SuperUser - Stack Exchange的一个分支,这是一个社区驱动的Q&A网站分组。

照片由科里M.格尼尔(Flickr的)

问题

超级读者Joseph A.想知道Web服务器如何判断您是否使用直接IP地址访问:

某些Web服务器在使用其IP地址访问时会返回一个错误,指出不允许直接访问IP地址。 我一直想知道一段时间这是如何工作的。

浏览器总是解析IP地址并连接到它吗? 直接IP地址访问只是跳过DNS完全,对吧? 远程服务器如何知道您是否跳过了DNS?

Web服务器如何知道您是否使用直接IP地址访问?

答案

超级用户贡献者iAdjunct有我们的答案:

为了回答你的知道它的问题,它与你的浏览器发送网络服务器。 您是对的,系统总是将其解析为IP地址,但浏览器会发送您尝试在HTTP标头中访问的URL。

这里是一个我在网上找到的示例标题,修改为看起来好像你在Windows上使用Firefox,并在地址栏中键入apple.com:

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-01

这里是标题将看起来像,如果你使用其IP地址:

how-do-web-servers-know-if-you-are-using-direct-ip-address-access-or-not-02

这两个都将通过套接字发送到同一个IP地址,但是浏览器告诉Web服务器它访问了什么。 为什么? 因为具有相同IP地址的Web服务器可能托管多个网站,并为每个网站提供不同的页面。 它不能区分谁想要哪个页面按IP地址,因为它们都有相同的,但它可以通过HTTP头区分它们。


有什么东西添加到解释? 声音在评论中。 想要阅读更多的技术精明的Stack Exchange用户的答案? 这里查看完整的话题

赞 (0)
分享到:更多 ()