详细 | 浏览器输入一个URL后的历程

Posted 结构化思维wz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详细 | 浏览器输入一个URL后的历程相关的知识,希望对你有一定的参考价值。

一个url的执行历程

文章目录

当我们用浏览器输入一个URL后,是如何请求到页面的呢?这也是计算机网络面试必问的一个问题。

首先,打开浏览器输入一个网址:

然后…

1.查找DNS缓存

DNS就像是电话簿,存放着名字(URL)和其对应的电话(IP地址)

DNS(Domain Name System)是一个分布式的数据库,它用于维护网址 URL `到其 `IP 地址的映射关系。在互联网中,IP 地址是计算机所能够理解的一种地址,而 DNS 的这种别名地址是我们人类能够理解和记忆的地址,DNS就负责把人类记忆的地址映射成计算机能够理解的地址,每个 URL 都有唯一的 IP 地址进行对应

如果上面四个步骤中都不存在 DNS 记录,那么就表示不存在 DNS 缓存,这个时候就需要发起 DNS 查询,以查找目标网址( www.csdn.net)的 IP 地址。

由于 DNS 的设计原因,本地 DNS 可能无法给我提供正确的 IP 地址,那么它就需要在互联网上搜索多个 DNS 服务器,来找到网站的正确 IP 地址。

  • 因为 DNS 是分布式域名服务器,每台服务器只维护一部分 IP 地址到网络地址的映射,没有任何一台服务器能够维持全部的映射关系。
  • 大致来说有三种 DNS 服务器: 根 DNS 服务器顶级域(Top-Level Domain,TLD)DNS 服务器权威DNS 服务器

三种DNS:

  • 根DNS服务器: 根域名服务器提供TLD服务器的IP地址。
  • **TLD DNS服务器:**对于每个顶级域名比如:org、com、net、edu...和所有国家级域名ca、uk、fr都有TLD服务器或服务器集群。TLD服务器提供了权威DNS服务器的IP地址。
  • **权威DNS服务器:**在因特网上具有公共可访问的主机,这些主机的组织机构必须提供可供访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务收藏了这些DNS记录。

如何发起DNS查询呢?

负责开始 DNS 查找的介质叫 DNS 解析器,它一般是 LSP 维护的 DNS 服务器,它的主要职责就是通过向网络中其他 DNS 服务器询问正确的 IP 地址。


2.浏览器与服务器建立TCP连接

经过DNS 和 ARP 查找流程后,路蓝旗收到一个目标服务器的IP和MAC地址,然后浏览器将会和目标服务器简历连接来传输信息。

TCP的连接建立需要经过TCP/IP三次握手,三次握手的过程其实就是浏览器和服务器交换SYN 同步ACK 确认消息的过程。

3.浏览器发送HTTP请求到Web服务器

TCP 连接建立完成后,就开始直接传输数据了。此时浏览器可能发送GET/POST…请求。

4.服务器处理请求并返回响应

5.浏览器渲染界面

6.连接结束

以上是关于详细 | 浏览器输入一个URL后的历程的主要内容,如果未能解决你的问题,请参考以下文章

html页面通过特殊链接:打电话,发短信,发邮件详细教程

被无穷无尽的APP绑架,是你真正想要的生活吗?

解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)

手机的次世代:科幻会成为现实吗?

一个页面从输入URL到页面加载显示完成的详细过程

从你输入一个网址,到网页显示,其间发生了什么?