![当您在浏览器中输入 URL 时会发生什么?](https://linux22.com/image/1242847/%E5%BD%93%E6%82%A8%E5%9C%A8%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E8%BE%93%E5%85%A5%20URL%20%E6%97%B6%E4%BC%9A%E5%8F%91%E7%94%9F%E4%BB%80%E4%B9%88%EF%BC%9F.png)
可能重复:
当您在浏览器中浏览网站时究竟发生了什么。
1
第一个 URL 代表统一资源定位器。记住 IP 地址非常困难。URL 不是记住 IP 地址,而是像 www.intrepidkarthi.com 这样的 URL。Url 通常包含三个部分。例如http://intrepidkarthi.com/index.php。这里的“http”指的是它使用的协议。然后是服务器名称,然后是请求的文件名。
这里我列出了浏览器背后的工作机制流程
- 您的浏览器与名称服务器通信,将服务器名称“www.intrepidkarthi.com”转换为 IP 地址,然后使用该 IP 地址连接到服务器计算机。 * 因此,您的浏览器将查看它是否已缓存了以前访问该站点时缓存的相应 IP 地址。如果没有,它将向您的 DNS 服务器(可能是您的路由器或 ISP 的 DNS 服务器)发出 DNS 查询。DNS 代表域名服务器 - 例如,如果您想获取 karthik 的电话号码,那么您将查看您的电话簿。同样,您的计算机不知道 intrepidkarthi.com 的 IP 地址。因此,它会查看 DNS。
- 然后,浏览器通过端口 80 与该 IP 地址的服务器建立连接。HTTP 协议使用端口号 80
- 浏览器向服务器发送 GET 请求,请求文件“http://www.google.com/karthikeyan.htm“。然后,网络服务器返回所请求的页面,并且您的浏览器将其呈现到屏幕上。
- 防火墙将控制与计算机的连接。大多数情况下,它只是控制谁可以连接到您的计算机以及使用哪个端口。对于网页浏览,防火墙通常不会做很多事情。
- 您的路由器本质上会引导您的请求通过网络,帮助数据包从一台计算机传输到另一台计算机,并可能执行一些 NAT(网络地址转换器)来转换 IP 地址(这样您的内部 LAN 请求就可以转换到更广泛的互联网上并转回)。
我不知道我理解的是否正确。我需要完全理解它,直到后面的硬件级别。
答案1
您对流程有相当好的理解。
首先必须执行 DNS 查找,以便获取 IP 地址。然后 HTTP 使用 TCP/IP 打开连接,默认情况下在端口 80 上。建立连接后,它将发送 HTTP GET 请求以获取某些内容。服务器将以某种方式响应,希望是现有页面而不是某些错误。然后浏览器将显示该页面。(请注意,我没有详细说明两端发生了什么。在服务器端,它基本上是倒退的。IP 数据包进入,TCP 数据包被提取。TCP 数据包的内容是 HTTP 请求。然后由 Web 服务器处理。)
纯路由器只会对 IP 协议感兴趣。典型的家用路由器采用 NAT 允许多个设备使用一个外部 IP,也会对 TCP 流量感兴趣,因为大多数 NAT 路由器都会修改端口作为连接管理的一部分。
答案2
网络连接由多个层组成,每个层都有自己的协议。在 Wikipedia 上阅读有关 OSI 模型的内容: http://en.wikipedia.org/wiki/OSI_model