透视 HTTP 协议
罗剑锋(Chrono)
前奇虎 360 技术专家,Nginx/OpenResty 开源项目贡献者
63943 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 48 讲
开篇词 (1讲)
透视 HTTP 协议
15
15
1.0x
00:00/00:00
登录|注册

40 | HTTP性能优化面面观(下)

尽量少用资源合并
域名收缩
服务器推送
多路复用
二进制帧
头部压缩
消除应用层的队头阻塞
设置缓存控制属性
添加ETag和Last-modified字段
利用缓存功能
使用Memcache、Redis、Varnish等
采用特殊的压缩方式
选择适当的压缩率
使用gzip、br压缩
少传不必要的头字段
减小文本、图片的体积
启用gzip、br压缩
启用TCP Fast Open
启用长连接
选用高性能的Web服务器
注意事项
优点
CDN
内部缓存
减少重定向
减少域名数量
资源合并
数据压缩
前端
后端
HTTP/2
缓存
节流
服务器端
HTTP性能优化

该思维导图由 AI 生成,仅供参考

今天我们继续上次的话题,看看 HTTP 性能优化有哪些行之有效的手段。
上一讲里我说到了,在整个 HTTP 系统里有三个可优化的环节,分别是服务器客户端传输链路(“第一公里”和“中间一公里”)。但因为我们是无法完全控制客户端的,所以实际上的优化工作通常是在服务器端。这里又可以细分为后端和前端,后端是指网站的后台服务,而前端就是 HTML、CSS、图片等展现在客户端的代码和数据。
知道了大致的方向,HTTP 性能优化具体应该怎么做呢?
总的来说,任何计算机系统的优化都可以分成这么几类:硬件软件、内部外部、花钱不花钱。
投资购买现成的硬件最简单的优化方式,比如换上更强的 CPU、更快的网卡、更大的带宽、更多的服务器,效果也会“立竿见影”,直接提升网站的服务能力,也就实现了 HTTP 优化。
另外,花钱购买外部的软件或者服务也是一种行之有效的优化方式,最“物有所值”的应该算是 CDN 了(参见第 37 讲)。CDN 专注于网络内容交付,帮助网站解决“中间一公里”的问题,还有很多其他非常专业的优化功能。把网站交给 CDN 运营,就好像是“让网站坐上了喷气飞机”,能够直达用户,几乎不需要费什么力气就能够达成很好的优化效果。
不过这些“花钱”的手段实在是太没有“技术含量”了,属于“懒人”(无贬义)的做法,所以我就不再细说,接下来重点就讲讲在网站内部、“不花钱”的软件优化。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

HTTP性能优化是网站提升服务能力的重要环节,主要包括服务器端和传输链路的优化。在服务器端,可以通过投资购买更强的硬件和使用CDN等方式来提升网站的服务能力。此外,通过开源、节流和缓存等手段进行软件优化也是重要的。选择高性能的Web服务器如Nginx/OpenResty,启用长连接和TCP Fast Open等特性,以及合理配置参数进行调优是关键。在传输链路优化方面,采用数据压缩、资源合并、减少域名和重定向等方式来减少数据传输量。利用缓存服务如Memcache、Redis、Varnish等,以及合理设置缓存控制属性来提高性能。另外,升级到HTTP/2能够直接获得许多方面的性能提升,但要留意一些HTTP/1的“反模式”。综合利用这些优化手段,可以有效提升HTTP系统的性能,提供更快速的服务。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《透视 HTTP 协议》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(50)

  • 最新
  • 精选
  • 业余草
    70门课程,看完了50门。后面空闲下来继续看2遍!

    作者回复: 好好学习天天向上。

    2019-09-03
    4
    16
  • 哈哈,都是夸老师的,在极客时间买了一堆专栏,别的不敢说,判断一个专栏的优劣的能力是给锻炼出来了。和买东西很类似,销量多、评论多(如果引起不了共鸣老实讲会懒得评论)、老师回复多、且比较有耐心(能感受到)这课程绝对值,如果能通俗易懂的讲出来,那功力就更强了,另外,姜还是老的辣,年轻又优秀的也非常多,不过有时能感觉到功力还是不行。说了这么多,最后想说的是老师在佼佼者中也是佼佼者。 感谢分享,这钱花的太值了(其实钱不多也不重要,时间和精力才是最宝贵的,如果学了感觉啥用没有就太沮丧了)

    作者回复: 可能是批评的文字没被显示出来吧。 虽然批评刺耳(人性使然),但也能提醒自己,不然很容易被“捧杀”。

    2020-04-02
    13
  • 看,有只猪
    这是我30门极客时间课程中第一门完整学完的课程,感谢老师通俗易懂的讲解,让我又新学到很多关于HTTP的知识点。跟着这门课程记录笔记,整理完后,整个结构清晰明了。老师按功能讲解字段的方法,让我知道了哪些功能会涉及哪些字段,不会再像以前那么模糊了,期待老师下一门课程

    作者回复: 期待与你的再次相会。

    2019-09-03
    13
  • 前端西瓜哥
    老师写得太好了,学到了很多很多东西。靠着在这篇专栏学到的 HTTP 知识,我在几天前也是拿到了一个大公司的offer,太高兴了。 另外这篇专栏也是我第一个从头到尾没有掉队的专栏,写得真的不错!感谢老师带给我们这么棒的专栏!

    作者回复: 能帮到你也是我的荣幸。

    2019-08-28
    9
  • 丶景
    老师的课讲的非常好,每节课都看的非常明白,而且每个问题都很认真的回答,想问下老师接下来还打算开什么课吗?个人很希望老师讲讲 tcp ip 有关的。或者还有什么其它渠道能关注到老师吗?比如博客?

    作者回复: 1.tcp/ip在极客时间上已经有非常好的课程了,可以去看看。 2.接下来可能要休息一下,也许以后还有机会,感谢你的关注。 3.博客没有,也没有公众号,个人比较“懒散”,不太愿意在网络上抛头露面,还是在GitHub上交流吧。

    2019-08-29
    4
  • 中年男子
    老师,不太理解 为什么一个网站有多个域名,解析域名获得ip会是不小的成本,需要收缩,是因为访问一个url内部会出现多次访问不同的地址的原因吗? 不是web开发,不太理解这些。

    作者回复: 有很多原因,早期域名分片是原因之一,可以让浏览器并发多个连接,加快数据的访问速度。 另外的原因比如防止域名抢注,增加入口等等,比如Google就注册过多个短域名。 总之,域名就像是互联网世界的名片,多了总不是坏事。

    2020-04-28
    3
  • Demon.Lee
    c++11、Boost、OpenResty,不过还要看有多少读者想要了 --- I want! 老师尽管出,我一定支持!(老师也要注意休息,身体第一!) 感恩!!

    作者回复: 多谢关心,大家都要多锻炼,健康第一。

    2019-11-07
    2
  • 何某人
    吹爆Chrono老师,课程又专业又通俗易懂。让身为网络小白的我受益匪浅。期待老师的新一门课程!!!另外看了老师的课后老师的书我也都买了哈哈。

    作者回复: 支持大感谢。

    2019-08-29
    2
  • ifelse
    感谢老师,学到了很多知识,长见识了。

    作者回复: my pleasure.

    2023-02-08归属地:浙江
    1
  • 路漫漫
    谢谢老师,我学完了,4周记了70页的笔记。作为一个前端我的http终于入门了。感谢老师的耐心回复让我及时解惑,让我觉得学习的路上有人陪伴,从不孤独。谢谢老师,希望老师能出更多的精品课程,让知识能够改变更多人的生活!

    作者回复: It's my pleasure.

    2021-11-26
    1
收起评论
显示
设置
留言
50
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部