**当在浏览器输入url,向服务器发送请求,浏览器都做了些什么?**
http事务:从浏览器传给服务器,服务器反回内容给浏览器,
这一个完整的过程就叫做http的一个事务。
## 1、http请求阶段:
1)浏览器把url发送给DNS服务器;
2)DNS服务器会根据IP找到对应的服务器;
3)服务器接收到请求,客户端和服务器已经产生了连接;
## 2、http响应阶段:
4)服务器接收到请求后,根据路径,找到相应的项目;
5)服务器找到之后,服务器立即把一些响应信息放在响应头中,通过http发送给客户端,同时进行数据整理;
6)把整理出来的数据,通过http发送给客户端,直到客户端接收完毕;
## 3、浏览器渲染阶段:
7)浏览器拿到从服务器传输过来的数据文件;
8)先遍历HTML,形成DOM树;
9)代码从上到下解析,形成CSS树;
10)DOM树和CSS树重新组成render树;
11)浏览器进行描绘和渲染;
# http的三次握手和四次挥手:
```
浏览器在给服务器传输数据之前,有三次握手,握手成功之后,
才可以传输数据
三次握手
1、浏览器需要先发送SYN码,客户端请求和服务器建立连接;
2、服务器接收到SYN码,再发送给客户端SYN+ACK码,我可以建
立连接;
3、客户端接收到ACK码,验证这个ACK是否正确,如果正确则客
户端和服务端则建立起数据连接;双方的数据发送通道都将开启;
四次挥手:
1、当客户端无数据要传输了,会发送FIN码告诉服务器,我发送
完毕了;
2、当服务端接收完毕后,告诉客户端ACK码,告诉客户端你可以
把数据通道关闭了;
3、当服务器发送完毕之后,也会发送FIN码,告诉浏览器,数据发
送完毕;
4、当客户端接收完毕 之后,同样发送ACK码,告诉服务器,数据
接收完毕,你可以关闭;
```
三次握手和四次挥手的好处:确保数据的安全和完整
响应头:服务器会告诉浏览器数据的长度,浏览器数据长度和响应头数据长度相同,说明数据已经接收完毕了。
- git-第一天
- Git-第二天
- git-第三天
- http-基础
- HTTP构成和状态码
- 浏览器输入URL,经历的过程
- TCP/IP 详解三次握手 四次挥手
- http-DNS系统
- http与https之间的区别
- HTTPS握手和HTTP握手
- HTTP小试牛刀
- Tcp初探
- TCP报文格式
- HTML5
- HTML基础
- Mock
- css 选择器
- css 动画
- css 定位
- position/display/float/z-index第一课时
- 行内、块、脱标 三种状态下的元素如何实现、水平、垂直居中
- clientHeight/offsetHeight/scrollHeight
- js 数据类型
- 变量提升
- 堆栈关系