网页从输入网址到渲染完成经历了哪些过程
网页从输入网址到渲染完成经历了哪些过程:
1. 输入网址
2. 发送到DNS服务器
由DNS服务器来将域名解析成对应服务器的IP地址
3. 建立TCP连接
客户端得到IP地址以后,会根据所获得的IP地址以及要访问的端口号发起网络连接,即tcp三次握手连接, 建立起TCP/IP网络连接
4. 浏览器向服务器发送HTTP请求
与服务器建立连接之后,就可以向服务器发送请求了,请求需要遵循http协议
5. 服务器响应HTTP请求
被请求的服务器解析用户请求的有哪些资源,通过服务器返回数据给客户端
6. 浏览器渲染
浏览器拿到请求页面的代码,将其解析渲染出来。解析和渲染的过程主要由浏览器的渲染引擎实现
TCP三次握手四次挥手
三次握手:
所谓的三次握手即TCP连接的建立。这个连接必须是一方主动打开,另一方被动打开的。(过程中都会携带:标记位为SYN、序号为Seq)
1. 首先客户端向服务器端发送一段TCP报文,请求建立新连接
2. 服务器端接收到来自客户端的TCP报文之后,返回一段TCP报文,告诉客户端,服务器收到了你的数据,并同意创建新连接
3.客户端接收到来自服务器端的确认收到数据的TCP报文之后,返回最后一段TCP报文,告诉服务器,我知道你收到我发的数据了
四次挥手:
所谓的四次挥手即TCP连接的释放(解除)。连接的释放必须是一方主动释放,另一方被动释放
1. 首先客户端想要释放连接,向服务器端发送一段TCP报文
2. 服务器端接收到从客户端发出的TCP报文之后,确认了客户端想要释放连接,并返回一段TCP报文
前"两次挥手"既让服务器端知道了客户端想要释放连接,也让客户端知道了服务器端了解了自己想要释放连接的请求。于是,可以确认关闭客户端到服务器端方向上的连接了
3. 服务器端做好了释放服务器端到客户端方向上的连接准备,再次向客户端发出一段TCP报文
4. 客户端收到从服务器端发出的TCP报文,确认了服务器端已做好释放连接的准备,并向服务器端发送一段报文