当用户输入网址浏览器访问解析的整个过程

216 阅读1分钟

过程大概可以分为以下五部分

1. 用户输入网址,进行DNS解析,找到对应的IP地址.

2. 通过IP找到对应的服务器地址,请求建立TCP链接

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

4. 服务器收到HTTP请求,调用自身方法,返回HTTP请求内容

5. 浏览器收到HTTP内容并渲染页面,数据全部接收完以后断开TCP链接。

DNS解析

当我们输入一个域名的时候浏览器是不能直接找到对应的服务器的, 需要我们通过DNS把域名解析, 才能找到对应的服务器IP.

具体的行为过程为:

1. 会去浏览器查找是否有DNS缓存,如果有解析完成.如果没有会查找本地host文件.

2. 查找本地host文件 是否有映射关系, 如果有 直接完成对应的解析.如果没有会查找LDNS

3. 从 lcal DNS 去查询, 如果查询到 直接解析完成.会递归的往上查询,直到查询到顶级DNS

4. 如果本地host 和 LDNS 都没有查询到 , 则去外地的LDNS 去查询, 直到完成最终的解析.(当然如果都没有查询到浏览器会返回DNC解析失败)

TCP三次握手

大致行为过程:

1. 客户主动去 active open 服务端,发送需要,服务端被动打开

2. 服务端收到SYN序号,并发送最新的给客户端

3. 客户端回复服务端,告诉他我收到了,然后两边再进行HTTP通讯

文章参考

DNS引发的血案

TCP的三次握手与四次挥手理解