通常我们会提及HTTP的长连接和短连接,因为HTTP本身是一个请求-响应的无状态协议。所以就它自身来说是无法实现长连接的。

HTTP长连接的本质是TCP传输层的长连接。

如图

图片来自http://www.nowamagic.net/academy/detail/23350305

它表明了一个大致的过程,左边是短连接,TCP建立连接,客户端发起请求,并且收到服务器响应后,就会主动进行四次挥手结束TCP连接。

右边则是长连接,在一次HTTP请求-响应结束后,保持TCP连接的不断开,从而在下次请求时,直接复用上次建立的TCP连接。

HTTP协议中的Header的参数connection:keep-alive;
在HTTP1.0中默认的是短连接,而在HTTP1.1中默认采用长连接。

很多的博客中对比了长连接和短连接的优劣。

但是这里我要有个概念,短连接每个请求都会建立tcp请求,之后释放。
单单请求一个百度首页html,css,js,img就多达19个请求。短连接需要发起19次的TCP连接,而长连接只要一次。这还不算我们使用的电商网站,门户网站。

因为随着web端的发展,web可以做的事情越来越多,而早期简单的web只能提供简单的信息浏览,所以采用短连接是当时的考虑,后面由于交互的增加,各种页面的资源文件增多,HTTP1.1协议采用了长连接,也是正确的选择。

虽然,短连接节约服务器的资源(请求-响应后就释放),但是在每次建立TCP连接所产生的延迟,以及对带宽的压力也不能不考虑。

简单的说下短连接的优点:管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段。

以上为长连接和短连接的区别,当别人问起你的时候可别再不清楚了

长连接与短链接问题的探讨相关推荐

  1. 什么是长连接和短连接?(长链接、短链接)什么时候使用长连接、短链接?

    文章目录 什么是长连接和短连接? 什么时候使用长连接.短链接? 定义 适用场景 什么是长连接和短连接? 在HTTP/1.0中默认使用短连接.也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连 ...

  2. http / 关于长连接和短链接的理解

    HTTP 协议是基于请求 / 响应模式的,因此只要服务端给了响应,本次 HTTP 请求就结束了,也可以理解成 HTTP 是面向请求 / 响应的. TCP 协议是面上连接的. 综上,如果 HTTP 请求 ...

  3. TCP长连接和短链接的区别及应用场景

    TCP长连接和短链接的区别及应用场景 TCP在真正的读写操作之前,服务端与客户端之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立通过三次握手,释放则需要四 ...

  4. TCP长连接与短链接

    1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次 ...

  5. tcp协议中的长连接和短连接服务器,谈谈HTTP协议中的短轮询、长轮询、长连接和短链接...

    undefined 在之前总结 WebSocket 的时候就已经提到过短长轮询了~~今天看公众号文章,又把长短连接引进来一起分析.感觉这种总结很棒,那么我们一起看看呗 长短连接 听说长短连接的话,应该 ...

  6. HTTP长连接,短链接,持久连接的区别

    什么是Http长连接 长连接定义: client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收.这种方式下由于通讯连接一直存在.此种方式常用于P2P点对点的通信. 长连接的操 ...

  7. TCP长连接和短链接及优缺点

    TCP和UDP tcp:面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手断开连接 优点:在数据传输时,有确认.窗口.重传.拥塞控制机制,能保证数据正确性,较为可靠 缺点:速度相对慢一点,要 ...

  8. 长连接和短链接的区别

    长连接意味着进行一次数据传输后,不关闭连接,长期保持连通状态.如果两个应用程序之间有新的数据需要传输,则直接复用这个连接,无需再建立一个新的连接.就像下图这样. 它的优势是在多次通信中可以省去连接建立 ...

  9. TCP长连接和短链接

    目录 短连接 长连接 keepalive功能 中间设备删除超时的连接过程 TCP keepalive交互过程 TCP keepalive带来的问题: 为什么需要长连接? http keepalive ...

最新文章

  1. xx is not in the sudoers file 问题解决
  2. OGEngine_粒子效果
  3. 【嵌入式】Libmodbus之RTU模式Master端程序示例
  4. 第五章 计算机故障诊断与排除
  5. 关于SQLSERVER2012版本远程登录问题
  6. 【QT】QT从零入门教程(一):图像处理自编软件
  7. javascript语言
  8. 晨曦记账本记账收支,统计结余
  9. 计算机无法连接共享打印机,共享打印机无法连接,小编教你共享打印机无法连接怎么办...
  10. nova云主机evacuate简单分析
  11. 在网上开店有哪些好处?最多可以开几个?
  12. 电脑饥荒服务器未响应,《饥荒》联机版常见问题及解决方法一览
  13. 【python】王者荣耀全英雄高清壁纸爬虫共467M(多线程)
  14. a标签,相对地址,绝对地址,锚点技术
  15. 《网络是怎样连接的》学习(一、浏览器)
  16. 黑群转正-2021年2月DS120j入门款使用体验
  17. 基本组网-(适用场景:一般家庭网络、微型企业网络、20人以内)、基础知识、设备知识、运营商选择、设备选择、设备配置
  18. MakerDAO中国区负责人 潘超:在加密世界研究经济学
  19. WebDriver 上传下载文件---(虫师《selenium3自动化测试实战--基于Python语言笔记22》)...
  20. 软件压力测试图片60张,Win10 64位用鲁大师界面cpu温度60上下,显卡40多。用压力测试7-8分钟cpu75左右,...

热门文章

  1. CGB2202语言基础第2天
  2. fw150rm刷openwrt固件_交作业 - 入坑J1900 软路由(刷原版OpenWrt 更新单线多拨)
  3. PyQt5快速开发与实战.pdf分享
  4. html图片自动剪裁,jQuery简单且功能强大的图片剪裁插件
  5. debian linux root登录,DEBIAN 10切换ROOT用户登录
  6. 《让云落地:云计算服务模式设计决策》笔记
  7. 自己写的调用Onboard-SDK-master中大疆API控制无人机210飞行并SDK中记录飞行高度、四元数的程序
  8. Python 入门之类的继承
  9. linux c 获取mac地址吗,Linux系统下用C语言获取MAC地址
  10. git忽略文件不生效