`

长连接的定义及其优缺点,以及在不同的浏览器中的支持情况

    博客分类:
  • web
 
阅读更多

   长连接应该翻译为keep-alive connection,或者是 persistent connection,而不是我们直译为Long Connection,否则你在英文文档中不好查到这方面的资料的,以下是维基百科针对长连接的说明:

    http://en.wikipedia.org/wiki/HTTP_persistent_connection

    以下是我的部分翻译:

    HTTP长连接(持久化连接)

        以下是一张连接与接连接的区别

         



        
HTTP长连接,英文的说话有这么几种:HTTP persistent connection、HTTP keep-alive或者 HTTP connection reuse,是用来在一个TCP连接的基础之上,发送多个HTTP请求以及接收多个HTTP响应,这是为了避免每一次请求都去打开一个新的连接。
在HTTP 1.0标准的时候,关于如何保持是没有官方标准支持长连接,这个时候客户端和服务端如果需要建立长连接,那客户端的发起请求的时候,就需要在请求头中带一个表示长连接请求头:
Connection: Keep-Alive
如果服务端同意长连接请求,那么服务端在返回头中增加响应头:
Connection: Keep-Alive
这样就建立了一个长连接,当客户端与服务端的某一方或者同时关闭连接的时候,或者网络原因,这个连接才会断掉。
在HTTP 1.1标准中,所有的请求都认为是长连接,这个时候HTTP长连接的建立不再需要标识单独的长连接信息。然而,在apache2.0中默认的连接超时时间是15秒,而2.2中默认是5秒,减少超时时间是为了服务器能够响更多的请求。
长连接的优点
1、减少CPU及内存的使用,因为不需要经常的建立及关闭连接,当然高峰并发时CPU及内存也是比较多的;
2、2、允许HTTP pipelining(HTTP 1.1中支持)的请求及响应模式:
为了便于理解HTTP pipelining,参见下图:


 

3、减少网络的堵塞,因为减少了TCP请求;
4、减少后续请求的响应时间,因为此时不需要建立TCP,也不需要TCP握手等过程;
5、当发生错误时,可以在不关闭连接的情况下进行提示;
根据RFC 2616 (page 46)的标准定义,单个客户端不允许开启2个以上的长连接,这个标准的目的是减少HTTP响应的时候,减少网络堵塞。
长连接的缺点:可能会损害服务器的整体性能,如apache的长连接时间的长短,直接影响到服务器的并发数。
长连接在浏览器中的使用情况
Netscape从4.05开始支持,Netscape不是通过timeout来关闭长连接,它是将空闲连接放置到一个队列中,当有需要向其它服务端建立长连接时,这个时候,它根据LRU(Least Recently Used)算法进行处理,即将最使少使用的空闲连接KILL掉;
IE从4.0.1开始支持,IE6、7只支持两个长连接,IE8支持6个,IE 60秒为默认的超时时间,这个值可以在注册表中修改;
FF类似IE通过timeout管理长连接,不过,默的是115秒,这个是可能通过配置进行更改的;
Opera从4.0开始支持长连接,长连接数可以自定义;

来自:http://blog.csdn.net/fenglibing/article/details/7100222

  • 大小: 18.4 KB
  • 大小: 7.6 KB
分享到:
评论

相关推荐

    Hybrid APP 与原生开发优缺点

    - **跨平台性强**:几乎可以在任何支持浏览器的设备上运行。 - **缺点**: - **性能较差**:依赖于网络环境,加载速度慢,且无法充分利用本地资源。 - **用户体验受限**:与原生应用相比,在交互性和视觉效果上...

    Ajax工作原理及优缺点实例解析

    随着浏览器技术的发展,现代浏览器如IE7+、Firefox、Chrome、Safari以及Opera等,都提供了对Ajax的原生支持。 #### 二、Ajax的工作原理 Ajax的核心在于使用`XMLHttpRequest`对象来发送异步请求。该对象允许客户端...

    计算机网络教案18-应用层-Web服务.docx

    综上所述,通过学习本节内容,学生应能深入了解Web应用的工作机制、HTTP连接的不同方式及其优缺点、Cookie技术的基本原理以及Web缓存的重要性和实现方法。这不仅有助于加深对现代互联网技术的理解,还能培养学生在...

    Web面试宝典.docx

    通过上述知识点的总结,我们不仅理解了 .NET 中页面间参数传递的各种方式及其适用场景,还深入探讨了 ViewState 的工作原理及其实现机制,以及 MVC 架构的设计理念和优缺点。这对于准备 Web 开发面试的人来说是非常...

    2022年软件体系结构风格研讨(共78张PPT).pptx

    软件体系结构风格是特定应用领域中系统组织的惯用模式,它定义了一个系统家族,包括词汇表(构件和连接件类型)以及约束(如何组合这些构件和连接件)。体系结构风格不仅反映了领域中的共性,还指导如何有效地组织...

    流程设计器(新)

    让我们深入了解一下其中涉及的技术及其优缺点。 首先,VML(Vector Markup Language)是微软提出的一种用于在网页上绘制矢量图形的标记语言。在这款流程设计器中,VML被用来创建和显示流程图的各个元素,如流程节点...

    2-OSI模型与RPC协议1

    这个模型帮助我们理解数据在网络中的传输路径以及各层处理的不同任务。 **1. RPC(Remote Procedure Call)协议:** RPC位于传输层,也就是OSI模型的第四层。作为一项进程间通信(IPC)技术,RPC允许一个程序调用另...

    大厂面试系列二.pdf

    设置索引但无法使用的情况通常发生在查询条件中有函数或表达式操作,或者在联合索引中,查询条件未按索引定义的顺序使用字段,或者使用了不等于()等。 SQL语句的优化可以从合理使用索引、优化查询逻辑、减少子查询...

    tuxedo

    在 BEA 提供的文档中,通常会包含一些常见问题及其解决方案,包括客户端无法连接到服务端的情况。解决此类问题通常涉及检查网络配置、端口开放状态以及服务端是否正在运行等方面。 **1.5 系统环境变量的设置** 在...

    电子科技大学网络编程试卷及答案(B).doc

    根据给定文件的信息,我们可以提炼出...综上所述,通过以上知识点的分析与解释,我们不仅理解了网络编程的基本概念和技术细节,还深入探讨了不同技术的应用场景及其优缺点,这对于学习和掌握网络编程技术具有重要意义。

    项目任务教学课件计算机网络应用第11章Internet的应用.pptx

    TCP/IP协议是Internet的核心,它定义了数据在网络中的传输规则。IP地址是网络中每个设备的唯一标识,分为五类:A、B、C、D和E类,其中A、B、C类常用于常规网络分配,D类用于多播,E类预留未用。IP地址由网络号和主机...

    HTML5与混合模式开发和Native的关系及其实现【张振华.Jack】

    然而,Web App的缺点也很明显,如较差的性能、有限的离线支持、较差的用户体验以及对网络连接的高度依赖。 - **Hybrid App**:综合了Native App和Web App的优势,支持跨平台访问、具备良好的本地功能访问能力,并且...

    tcpip及其相关简介

    TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网协议族的核心组成部分之一,它定义了电子设备(如计算机)如何在互联网中进行通信。本篇文章将深入探讨TCP/IP协议的基本概念、结构以及相关知识...

    Html表单和Server表单

    此外,GET请求的数据在浏览器历史记录和缓存中可见,安全性较低,容易受到SQL注入等攻击。 POST方式则将数据封装在HTTP请求的主体部分,不在URL中显示,这使得数据传输更加安全,且无长度限制,适合处理大数据量或...

    ASP技术访问WEB数据库

    - **优缺点**:虽然IDC具备良好的可扩展性,但由于其编程复杂性和对小型数据库系统的适用性,使得在大规模应用中可能会遇到局限。 3. **先进数据库连接器ADC (Advance Database Connector)** - **定义与适用性**...

    HTML5使用文档

    HTML5 支持多种浏览器,包括Firefox、IE9及其更高版本、Chrome、Safari、Opera,以及国内的Maxthon、360浏览器、搜狗浏览器、QQ浏览器、猎豹浏览器等。这些浏览器都具备HTML5的兼容性,使得开发者能够创建跨平台、跨...

    06 You Don't Know JS:ES6 & Beyond.pdf

    - 讨论块作用域变量与函数作用域变量之间的差异及优缺点。 2. **Spread/Rest 扩展/剩余操作符** - 解释扩展操作符(`...`)的作用及其在数组和对象中的使用场景。 - 描述剩余操作符(`...`)在参数列表和数组解构中...

    HTTP协议学习心得体会.docx

    - 在HTTP/1.1中,通过`Keep-Alive`请求头来控制持久连接,使得浏览器和服务器之间的连接可以在完成一次请求后继续保持,直至另一方显式关闭连接或达到某个时间阈值。 #### 三、HTTP消息格式 ##### 3.1 请求消息...

    2011Android技术面试整理附有详细答案(包括百度、新浪、

    - Android虽然支持MVC模式,但在实际开发中,经常使用MVP(Model-View-Presenter)或MVVM(Model-View-ViewModel)模式。 #### 16. ANR的含义及其避免方法 - **ANR(Application Not Responding)**: 当应用在主线...

    网易(26问).pdf

    this在不同情况下的情况 在JavaScript中,函数的`this`指向是根据函数的调用方式确定的。在普通函数中,`this`指向调用它的对象;在对象方法中,`this`指向该对象;在箭头函数中,`this`指向定义时的上下文。 ###...

Global site tag (gtag.js) - Google Analytics