1. 持久连接节省流量

在一开始的HTTP协议中,每进行一次HTTP 通信就断开一次TCP连接。

在请求一个很多资源的HTML页面的时候,每次连接都会造成无所谓的TCP连接的建立和断开,增加了通信量的开销。

2.持久连接

持久连接也被称为HTTP keep alive或者HTTP connection reuse。它的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。


2.1 好处

  • 减少了TCP连接重复建立和断开的时间开销
  • 减轻了服务端的负载

2.2 保持时间

从HTTP/1.1起,默认都开启了Keep-Alive,保持连接特性,但Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间

eg.

Connection: Keep-Alive
Keep-Alive: max=5, timeout=120

2.3 仍然存在的问题

keep-alive虽然可以复用同一条TCP通道,但必须等到服务端响应了前一次请求,才能发起第二次请求。既是按顺序发送请求,按顺序接收请求,这样接收端才不会乱掉,可能会有"阻塞"。

(chap2 简单的Http协议) HTTP性能优化之持久连接Keep Alive相关推荐

  1. (chap2 简单的Http协议) HTTP性能优化之管线化pipelining

    在长连接的基础上,为了解决阻塞请求问题,HTTP1.1进一步地支持在持久连接上使用管道化(pipelining)特性,这是相对于keep-alive连接的又一性能优化. 1. 管线化概念 之前需要发送 ...

  2. (chap 2 简单的Http协议) HTTP性能优化之Cookie技术

    1. 工作原理 Cookie技术通过在请求和响应报文中写入 Cookie信息来控制客户端的状态.Cookie会根据从服务端发送的响应报文中的一个称set-Cookie的首部字段中,通知客户端保存Coo ...

  3. redis专题:redis键值设计、性能优化以及redis连接池配置

    文章目录 1.redis键值设计 ①:key设计规范 ②:value设计规范 2. 命令使用优化 3. redis连接池配置参数设计 4. redis连接池预热 5. redis的key过期删除策略 ...

  4. (chap2 简单的Http协议) HTTP方法(2)其他方法

    1. PUT方法 传输文件. 就像FTP协议中的请求文件上传一样,要求在请求报文的实体中包含文件内容,然后保存到请求的URI指定的位置. 鉴于HTTP1.1的PUT方法自身不带有验证机制,任何人都可以 ...

  5. (chap2 简单的Http协议) 请求报文和响应报文

    1. HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回.换句话说,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应. 2. client 发送的内容: GET ...

  6. 鸟瞰前端 , 再论性能优化

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 导语 : 从事前端有6年 的时间了,从最开始的美工到重构再到偏向js逻辑开发的前端开发,一直在前端这个行业里面摸索和学习,我现在将自己这些 ...

  7. ASP.NET 26个常用性能优化方法

    数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源. ASP.NET中提供了连接池(Co ...

  8. C++ 应用程序性能优化,第 6 章:内存池

    引言 本书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例.全书由 4 个篇组成,第 1 篇介绍 C++ 语言的对象模型,该篇是优化 C++ 程序的基础:第 2 篇主要 ...

  9. NET比较常用的性能优化技巧

    现在很多客户也慢慢开始注重网站的性能了,同时有很多运营网站的公司也不像以前那样特别在意网站是否非常漂亮,而把更多的精力放在了网站性能优化上面,提供更快更稳定的浏览速度,在这个基础上面进行网站功能上的扩 ...

最新文章

  1. 【转】用户显示数据库表通用程序
  2. Hadoop+Hbase分布式集群架构“完全篇”
  3. 5.prometheus告警插件-alertmanager、自定义webhook案例编写
  4. 《JavaScript面向对象的编程指南》--读书笔记
  5. unity 是厘米还是米_身高差45厘米! 这对重庆小情侣拍短视频晒幸福火了
  6. Nginx配置相关结构划分的技巧和禁止IP访问
  7. 等待来自服务器的响应超时_服务器的基本框架结构
  8. 如何解决分布式系统数据事务一致性问题(HBase加Solr)
  9. 7z.exe 命令参数
  10. 决策树(十)--GBDT及OpenCV源码分析
  11. python数字图像处理(9):直方图与均衡化
  12. ubuntu 修改IP,网关等
  13. 免费「模拟面试」福利反馈连载(20180128期)
  14. 安卓bochs安装linux教程,Ubuntu环境下安装Bochs
  15. bootbox 使用方式
  16. 《老路用得上的商学课》26-30学习笔记
  17. 阿尔卑斯山时间规划法精髓(提高工作效率)
  18. Red5服务器搭建,流媒体rtmp推流实现H5在线直播以及遇到的坑
  19. 金铜仙人辞汉歌-李贺
  20. android x86还是arm,Android x86是否模拟ARM?(Does Android x86 emulate ARM?)

热门文章

  1. 3.浏览器输入www.baidu.com到显示主页的全过程
  2. 【Python】青少年蓝桥杯_每日一题_10.19_回文数和个数
  3. Android --- 调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题
  4. Java 洛谷 P1426 小鱼会有危险吗
  5. gorm增删查改json_gorm 关联查询请教
  6. 计算机二本生不学编程还能干什么6,不建议二本考生报考的6个专业,除非真的感兴趣!...
  7. 学计算机学体育生闺女,数学老师转行教体育 他有4个特别的“女儿”
  8. 大型数据中心蓄电池规划与应用中的痛点及展望
  9. 成功解决SyntaxError: (unicode error) ‘unicodeescape‘ codec can‘t decode bytes in position 0-1: malformed
  10. 成功解决ModuleNotFoundError: No module named ‘torch._C‘