概述
HTTP连接的几种方式
串行连接
此时一个连接对应一个请求,一个请求完成后才会开始下一个请求。完成的标志是服务端的数据到达客户端,客户端读取响应数据后关闭连接,然后发起下一个连接。
持久化连接
此时一个连接可以发送多个请求,一个请求完成后,并不会关闭连接,而是等待下一个请求执行。
管道化连接
持久化连接下的一种方式,客户端会将多个请求排队,在一个连接上发送给服务器,和持久化连接不同的是,管道化连接并不会等一个请求完成后再发送下一个请求,而是在前一个请求已发送出去,没有收到响应之前就会发送下一个请求。
TCP连接
HTTP连接或者说协议位于TCP的上一层,它的连接行为都要通过TCP层实现,而TCP层由操作系统控制,对于HTTP程序(在客户端是浏览器)来说,就是操作系统提供的一系列SOCKET API。
HTTP发送的请求数据会先到达socket的缓冲区,然后再发送到服务器的socket缓冲区,服务器的web程序会从缓冲区读取数据。
总结
对于串行连接,副作用不多,但性能是个大问题;持久化连接和管道连接会带来性能的提升,但副作用是个严重的问题。
这里的副总用指的是TCP连接突然被关闭带来的不好的后果,如果一次请求(一个事务),不管执行一次还是多次,得到的结果都相同,这个请求就是幂等的。对于非幂等请求,一定不能自动重试发送。
最后
以上就是虚拟大船为你收集整理的HTTP几种连接方式的全部内容,希望文章能够帮你解决HTTP几种连接方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复