HTTP 连接建立方式
来源:互联网 发布:html 按钮代码运行php 编辑:程序博客网 时间:2024/05/25 21:32
当我们在浏览一个web页面时,页面里的元素可能是来自于多个源的,例如每张图片有各自的来源。我们在浏览一个拥有2张图片的web页面时,浏览器需要发起3个HTTP事务,一个用于获取顶层HTML页面元素,另两个获取相对应的图片。
串行连接
如果只是简单的对连接进行管理,使用串行化的方式去请求资源。每个请求都需要等待前方的请求完毕,并且每个事务在请求时都需要建立连接-传输数据-关闭连接。
使用串行化的方式去请求,则我们拥有了三倍的连接时延和慢启动时延
并行连接
HTTP允许客户端同时打开多条连接,并行地执行多个HTTP事务。此时,每个请求不用等待其他请求的处理情况,自行建立连接去执行自身的HTTP事务即可。
使用并行化的方式去请求,理论上相对串行化连接,时间缩短为了1/3;但每个任务都有自己的连接,在带宽很小(只能容下一个请求时)时,每个连接都会去竞争这有限的带宽,这样其实和串行化的效率相当,而且,同时打开大量连接会消耗很多内存资源,从而引发自身的性能问题
持久连接
如果这三个请求的目标服务器都是同一个,我们可以保持初次打开的TCP连接不关闭,在后续使用时可以直接拿来复用,这就叫做持久连接。
其实这里和我们在服务端开发时使用的连接池,是同样的道理,客户端维护一个连接池,要使用时直接捡起来用即可
持久连接相对于并行连接,将并行连接引起的多次连接时延和慢启动时延缩短到了一次。而且减少了打开连接的数量,节约了更多的资源。但要小心的是在管理持久连接时,如果不够细致,有可能会累积出大量的空闲连接(例如你访问了多个网站,每次都是一个持久连接,并且你忘记设置超时来关闭它们)
现在比较常用的方式是打开少量的并行连接,并且每个连接都持久化。这样可以享用两者带来的好处,但同样要小心地处理,避免连接长期空闲。
阅读全文
0 0
- HTTP 连接建立方式
- HTTP协议建立连接的方式
- Http 协议建立连接的方式
- HTTP协议建立连接的方式(转)
- http建立网络连接
- 使用MIDP建立HTTP连接
- HTTP/2之连接建立
- Telnet建立http连接获取网页内容
- 以OLE方式建立与Excel连接
- 多种多样的建立网络连接的方式
- 多种多样的建立网络连接的方式
- ajax post方式与服务器建立连接
- Http环境下的保持连接方式
- Http环境下的保持连接方式
- http自适应接入点网络连接方式
- HTTP长连接(Comet)实现方式示例
- Http环境下的保持连接方式
- Cloudera提供HTTP方式连接HDFS工具
- C语言 结构体与结构体指针用法总结
- Xcode8添加dylib库
- linux VNC 基本操作
- 应聘面试经验
- 测试
- HTTP 连接建立方式
- 大型网站技术架构(四)--网站的高性能架构
- [Python] wxPython 菜单栏控件学习总结
- 堆棋子
- Thinkphp 控制器->Action参数绑定
- jQuery中的$.ajax()方法参数详解
- iOS UIKeyboardType(键盘类型)~图解
- 可恶的定理,但是却有大用
- 数学归纳法