一般说来,浏览器输入一个URL之后会:
- 进行DNS查询,找到对应服务器的IP,然后和服务器建立TCP连接;
- 然后基于TCP连接;
- 浏览器发送HTTP请求,服务器接受请求、处理请求、返回响应;
那么接下来是直接断开TCP连接,还是等浏览器渲染完页面再断开连接呢?
一般说来,浏览器输入一个URL之后会:
完整的http请求
1、建立TCP链接--→也就是http协议(默认端口是80);
2、浏览器向服务器发送请求命令和请求头信息
3、服务器收到信息都会返回应答头信息
4、服务器向浏览器发送数据
5、服务器关闭TCP链接
9 回答9.4k 阅读
6 回答5k 阅读✓ 已解决
4 回答13.4k 阅读✓ 已解决
5 回答3.6k 阅读✓ 已解决
7 回答2.9k 阅读✓ 已解决
3 回答10.5k 阅读✓ 已解决
4 回答8k 阅读✓ 已解决
根据Connection请求头,如果是keep-alive服务器就保持住tcp连接,如果没有或是close则服务器response传输完后主动关闭tcp连接。
当然现在浏览器都是http1.1都默认是keep-alive的,在浏览器tab关闭时,tcp连接关闭。