一次HTTP请求过程或者输入网址后发生了什么
前言
当我们在浏览器中输入一个网址后,浏览器给我们返回一个页面过程中,到底发生了什么?
一、流程概括
1.进行DNS解析,找到对应ip地址的服务器
2.通过TCP协议建立连接(三次握手)
3.建立连接后,浏览器发送HTTP请求
4.服务器根据HTTP请求返回相应的数据
5.浏览器根据协议解析数据,得到资源
6.根据得到的资源显示在页面上
7.根据Connection的Keep-Alive属性可以选择是否断开TCP连接(四次挥手)
二、具体流程
1.DNS解析
DNS解析过程就是寻找哪台机器上有你所要的资源,根据URL得到相应的ip地址去寻找:
1.先在浏览器本地缓存中查找是否相应的记录,浏览器缓存会保存一些访问过网址的DNS信息,
2.如果没有找到,就在本机操作系统缓存中查找是否有当前要访问的DNS信息,
3.如果还没有找到对应的ip地址,就发送到路由器上,路由器根据自身查找当前记录,路由器本身也会存储一些DNS信息,
4.如果没有找到,这个请求就会发送到运营商上,运营商就是互联网服务提供商,一般大部分请求的域名都能在这里找到,
5.如果还没有找到,就将请求发送给根域名服务器进行搜索,
6.如果还没找到,就说明这个域名不存在