我们在访问网站的时候一般都是通过浏览器来访问的,而今天我们就一起来了解一下,浏览器的工作原理是什么。
构建请求:浏览器开启网络请求线程,向服务器发送完整的http请求。
查找缓存:真正发起网络请求之前,浏览器会先在数据存储中查询是否有需要请求的文件。如果没有任何缓存,说明一次请求,则进入网络请求过程。当浏览器有缓存的时候,会拦截请求,返回缓存,拦截请求。缓存优点:缓解服务器压力,提升性能,实现快速加载资源。
准备IP地址和端口:通过URL地址获取ip地址和端口信息,通过DNS解析返回域名对应的ip和port,浏览器也提供了dns数据缓存,通常url没有指明端口号,则默认80。
等待TCP队列:chrome有个机制,同一域名下同时多只能建立6个TCP连接,如果同时有10个请求发生,其中4个就会进入等待队列,直至进行中的请求完成,如果小于6个,则直接进入TCP连接。
建立TCP连接:浏览器与服务器之间通过TCP建立连接。TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
发送http请求:连接建立成功之后,浏览器就可以与服务器之间通讯了。浏览器会向服务器发送请求信息,包括请求方法、请求URL、http版本协议。
服务器处理请求:服务端收到请求信息以后,会根据浏览器的请求信息返回结果,返回结果中包含三部分:响应行、响应头、响应体。响应行内包含状态码,告诉浏览器处理结果,http状态码有很多。响应头包含服务器自身的一些信息,响应体就包含了网页的html实际内容。
服务器响应和断开连接:通常服务器向浏览器返回请求数据之后,就会关闭连接,经过四次分手之后,就断开连接了。
评论