关于本书
本书以一种易于理解、方便上手的方式,使用实际的案例来解释协议。协议规范枯燥且难以理解,因此本书力求通俗易懂,使用贴近用户的案例来讲解。
本书目标读者
本书的目标读者为Web开发者、网站管理员及想要了解互联网技术如何运作的人。本书旨在提供HTTP/2的完整描述,以及其中的技术细节。尽管有大量关于该主题的博客、文章,但它们大多数都是关于特定主题的粗略或详细的介绍。本书会详述整个协议及其中的许多复杂特性,以帮助读者阅读和理解规范,以及一些深层次的文章。HTTP/2的创建主要是为了提高性能,因此任何对Web性能优化感兴趣的人都会从本书中获得有用的知识。此外,本书还包含许多参考资料,以供大家延伸阅读。
本书组织结构
全书共有10章,分为4部分。
第1部分解释了为什么要升级到HTTP/2,以及升级的方法。
• 第1章介绍了一些背景知识,即使那些只对互联网有基本了解的人也应该能够掌握这些知识。
• 第2章讨论了HTTP/1.1的问题,以及为什么需要HTTP/2。
• 第3章描述了为网站启用HTTP/2的方法,以及在此过程中会出现的一些复杂问题。附录A对本章中的内容做了补充,提供了流行的Web服务器Apache、Nginx和IIS的安装说明。
从第2部分开始,逐步深入,讲述协议本身,以及它对Web开发实践所带来的影响。
• 第4章介绍了HTTP/2协议的基础知识,如何建立HTTP/2连接及HTTP/2帧的基本格式。
• 第5章介绍了HTTP/2推送,它是协议全新的特性,其允许服务端主动发送浏览器尚未请求的资源。
• 第6章介绍了HTTP/2对Web开发实践所带来的影响。
第3部分介绍了协议较深层的技术,Web开发者及Web服务器管理员目前可能无法对它们进行控制。
• 第7章介绍了HTTP/2规范中的流状态、流量控制和优先级策略等概念,以及在具体实现中HTTP/2的一致性差异。
• 第8章深入探讨了HPACK协议,该协议用于HTTP/2中的HTTP首部压缩。
第4部分着眼于HTTP的未来。
• 第9章介绍了TCP、QUIC和HTTP/3。技术更迭的脚步永远不会停止,现在开发人员已经在寻找改进HTTP/2的方法。本章讨论了HTTP/2未解决的低效问题,以及如何在后续版本(HTTP/3)中改进它们。
• 第10章介绍了除HTTP/3之外的其他可以改进HTTP的方法,包括对在HTTP/2标准化过程中所出现问题的反思,以及在实际应用中这些问题的影响。
读完本书,读者应该对HTTP/2和相关技术有了很好的掌握,应该对Web性能优化有了更深入的了解,同时也为将来QUIC和HTTP/3的发布做好了准备。
相关代码
与大多数技术书不同,本书没有大量代码,因为本书是关于协议的介绍。本书会有一些Node.JS和Perl的例子,以及关于Web服务器配置的代码片段。
源代码和配置代码以等宽字体显示。有时,代码也以粗体显示,以表示其是不同的部分,比如向现有代码添加的新功能。
读者服务
微信扫码回复:38671
• 获取博文视点学院20元付费内容抵扣券
• 获取本书配套代码文件
• 获取本书参考资料中的配套链接
• 获取更多技术专家分享的视频与学习资源
• 加入读者交流群,与更多读者互动