你在浏览器输入一个URL都经历了什么过程

一:相关概念说明:

1.1: DNS(Domain name System)缓存: (域名系统)(查看本机的ipconfig/displaydns)

当电脑把一个域名解析完之后,它把这个这个域名和那个主机Ip地址相关联起来了,电脑吧这个关系存到DNS缓存表中,下次电脑再输入www.baidu.com的时候,电脑通过查找DNS缓存,就可以知道这个域名对应的IP地址了,不再进行域名解析了,提高了效率

1.2: ip地址:

ip地址对应好像门牌号,我们通过这个地址可以找到主机的位置

1.3:域名:(domain name):

Ip地址是4个数字,用顿号隔开,这个东西不好记,我们一般用字母搭配数字的方式使用比如.www.baidu.com.,Ip地址和域名不是一一对应的,一个域名可以绑定多个IP,但在同一时刻一个域名只能解析成一个Ip地址(这个活由我们的DNS帮我们完成)

二:相关请求大致流程

1:浏览器根据域名解析出来Ip地址

2:浏览器根据IP地址进行Socket通信

3:浏览器和客户端进行通信,浏览器请求,服务器接收请求

4:浏览器和服务器断开链接

三:具体的流程

3.1:查找过程

1:浏览器先从自己DNS表中查找看有没有.www.baidu.com(对应的IP地址)

2:从操作系统中的DNS表中查找(维护域名和ip地址对应关系的一张表)

3:从操作系统host文件夹中查找

4:操作系统将域名发送到LDNS(本地区域域名系统),比如我在工大,那么LDNS服务器就在 我们学校, 查找DNS缓存,继续失败的话发送一个迭代的DNS解析请求.

4.1:LDNS向Root name server(根域名服务器,存储每个域名的域),Root name Server返回com域的顶级域名服务器地址

4.2:LDNS向com顶级域名服务器发送请求,返回www.bai.com域名服务器的地址

4.3:LDNS向www.baidu.com域名服务器发送请求,得到www.baidu.com的ip地址

5:LDNS得到Ip地址返给操作系统,并把这个iP地址缓存到DNS表中

6:操作系统将地址返给浏览器.同时也将IP地址缓存起来

7:现在浏览器已经得到了Ip地址

3.2:建立连接(三次握手)(采用TCP协议)

知道了百度的Ip地址,接下来是三次握手的实现连接

1:客户机向服务器发送建立连接请求(你好,很高兴认识你)

2:服务器接到请求后发送同意连接请求(好的,很高兴认识你)

3:客户机接收到服务器同意请求后,再次向服务器发送确认信号(我也很高兴认识你),自此主机和服务器两个建立连接

3.3:网页请求和显示

建立连接之后,那么服务器和客户机之间就会进行通讯

3.1:客户机浏览器根据IP地址生成Http请求,请求包含文件的位置,请求的方式

3.2:服务器接收到http请求内容决定如何获取相应的HTML文件

3.3:服务器将相应的HTML文件发送给浏览器

3.4: 浏览器还没完全接收HTML文件的时候,开始渲染,显示网页

3.5:根据html代码,继续请求图片,

3.4:断开过程(四次挥手过程)

1:客户机向服务器发送一个断开的请求(不早了,我该走了)

2:服务器接受到请求发送确认请求的信号(知道了)

3:服务器向客户端发送断开通知(我也该走了)

4:客户机接受到断开通知,反馈一个信号(好的),服务器接收到反馈信号断开链接

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505A1JZXB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券