"浏览器输入地址,实际发生了什么“问题的一个疑惑~

发布于 2022-09-02 09:56:23 字数 159 浏览 12 评论 0

第一步通过域名查找到 IP 地址,然后发送 HTTP 请求~

有一个比较疑惑的地方是:我直接输入域名对应的 IP 地址,会发生什么?

然后测试了一下,发现输入百度对应的 IP 地址,还是正常返回;输入 CSDN 的 IP 地址就只返回了个 OK~~有大神能帮忙解释一下吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

幸福不弃 2022-09-09 09:56:23

从表面上看主要的区别是直接输入 IP 地址只是省略了DNS的过程。

其实 HTTP 头里面有这么几点不同,
Cookie: cookie 是浏览器根据协议+域名+端口区分的,IP 和域名不属于同一个“域名”,所以浏览器发送的 cookie 不同
Host: HTTP头里面的 Host 其实就是你输入的URL的域名部分(不包括端口号)。一般的有些服务器上会根据这个Host返回不同的网页(虚拟主机,不是VPS,是服务器比如nginx apache等配置里面的概念,不过有些VPS也是这么实现的)。就是同一个IP和端口上可以对应很多不同的网站,服务器会根据这个Host返回对应的网站。
缓存有关:浏览器保存缓存是根据整个URL来区分的,所以浏览器也认为这是不同的资源。

另外,对于有很多服务器的网站,像百度这样的,一个域名可以对应多个不同的IP,DNS会根据你所在的地址返回一个离你最近(或者说最快)的IP。而网站服务商也可以根据这个做负载均衡。

抚笙 2022-09-09 09:56:23

首先你要搞明白,通过域名访问和通过ip访问的时候,请求有什么不同。你可以打开chrome的调试工具对比一下。

搞明白这个之后,其实就是服务器针对不同请求做了不一样的处理。例如,如果服务器是你自己写的,那么你应该知道这两种情况大概要怎么写。实际上,这件事通常是由http server来做的,比如apache或者nginx,配置它们的这种行为,请查阅相应的文档。

晌融 2022-09-09 09:56:23

建议楼主找本计算机网络的书看下,了解哈internet的架构,TCP/IP通讯协议原理

迷路的信 2022-09-09 09:56:23

csdn你需要在ip后面加上指定的uri,应该也可以访问成功,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文