谈谈HTTP协议中的长连接,短连接

1,以前的误解:

  以前就听说过http分为长连接和短连接的说法,简单来说长连接就是请求可以复用,短连接就是只对应一次请求,然后协议关闭,但其实这句话只对了一半,http协议是基于请求/响应模式的,只要服务器给了响应,本次http连接就结束了,根本没有长连接这么一说,

之所以网络说http长连接和短连接其实本质说的是TCP连接,他才是属于传输层的,那么前面的误解就有答案了

首先,长连接就是为了复用,怎么复用呢,把头部的connection设为keep-alive(现在的http默认都是长连接),然后多个http请求就会复用一个TCP连接、

总结:

长连接是多个http请求复用一个TCP连接

  短连接是一个http请求对应一个TCP连接

时间: 2024-12-29 01:26:30

谈谈HTTP协议中的长连接,短连接的相关文章

长连接&短连接分析

转自:http://www.cnblogs.com/heyonggang/p/3660600.html 1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接 时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的 经典的三次握手示意图: 经典的四次握手关闭图: 2. TCP短连接 我们模拟一下TCP短连接的情况,client向

http 长连接 & 短连接

1.意义 同一个TCP连接来发送和接收多个HTTP请求/应答,而不是为每一个新的请求/应答打开新的连接的方法. 2.优 较少的CPU和内存的使用 允许请求和应答的HTTP pipelining 降低网络阻塞 减少了后续请求的延迟(无需再进行握手) 报告错误无需关闭TCP连接 3.缺 空闲的连接需要过段时间后才能被断开,可能影响整体性能(比如那些单次访问次数多的web 服务) http 长连接 & 短连接

误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接

引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一下,如果你之前就懂得话,可以互相对照一下. 以前的误解 很久之前LZ就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默

[Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)

通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更加稳定.茁壮~ 作为一个可能会和非常多Client进行通讯交互的Server.首先要保证的就是整个Server执行状态的稳定性,因此在和Client建立连接通讯的时候,确保连接的及时断开非常重要,否则一旦和多个client建立不关闭的长连接,对于server资源的占用是非常可怕的.因此,我们须要针对

HTTP的长、短连接介绍

一.长连接简介及使用 HTTP长连接:HTTP persistent connection ,也有翻译为持久连接,在HTTP1.1规定默认保持长连接,数据传输完成了保持TCP连接不断开(不会再发RST包.不会再进行四次握手),等待在同域名下继续用这个通道传输数据(与之相反的就是短连接). HTTP首部的Connection: Keep-alive是HTTP1.0浏览器和服务器的实验性扩展,当前的HTTP1.1 RFC2616文档没有对它做说明,因为它所需要的功能已经默认开启,无须带着它.但是实践

长连接短连接长短连接争长短

其实还是这个老问题: 记一次文件下载丢包填坑之旅 http://www.cnblogs.com/syjkfind/p/5281677.html 即使现在只有haproxy-nginx-磁盘文件 比较少的转发,但文件特别大,还是偶有文件不完整的问题. 从现象上看,浏览器响应是200没问题,curl命令的日志显示是 curl: (18) transfer closed with 204800 bytes remaining to read 字面上理解就是连接已关闭.查相关资料并没有任何有关的答案,说

Socket 长连接 短连接 心跳 JAVA SOCKET编程

简单解释就是: 短连接:建立连接,发送数据包,关闭连接 长连接:建立连接,发送数据包,发送心跳包,发送数据包,发送心跳包,发送心跳包...... 所以又频繁的数据收发的话,短连接会频繁创建TCP连接,而对于长连接,则始终用的是同一个TCP连接 package com.tree.demo.socket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.n

长链接短连接、长轮询短轮询

https://www.cnblogs.com/gotodsp/p/6366163.html https://blog.csdn.net/LEE1996JUN/article/details/79702848 原文地址:https://www.cnblogs.com/yishenweilv/p/11366634.html

(转)对Http协议的长连接和短连接新的认识

转载来自:http://www.cnblogs.com/zuoxiaolong/p/life49.html一直对长连接短连接模模糊糊,看着该博主的文章,豁然开朗~ 引言 最近刚到公司不到一个月,正处于熟悉项目和源码的阶段,因此最近经常会看一些源码.在研究一个项目的时候,源码里面用到了HTTP的长轮询.由于之前没太接触过,因此LZ便趁着这个机会,好好了解了一下HTTP的长长短短. 了解的方式主要都是LZ在网络上获取的,这里只是谈一下LZ对于这四种叫法最直观的理解.如果你之前不懂的话,可以帮你普及一