译者序

目前,国内讲解 HTTP 协议的书实在太少了。

在我的印象中,讲解网络协议的书仅有两本。一本是《HTTP 权威指南》,但其厚度令人望而生畏;另一本是《TCP/IP 详解,卷 1》,内容艰涩难懂,学习难度较大。这两本书都是被读者们奉为“圣经”的经典之作,大师们的授道自然无可挑剔,但关键是它们对初学者都不那么友好,大家的学习信心很容易受到打击,阅读中途或将束之高阁。本书的出现及时缓解了该问题。

HTTP 协议本身并不复杂,理解起来也不会花费太多学习成本,但纯概念式的学习稍显单调。前端工程师也许对各种具有炫酷效果的页面的实现技巧、赏心悦目的 UI 框架更感兴趣,但因此常常忽视了 HTTP 协议这部分基础内容。实际上,如果想要在专业技术道路上走得更坚实,绝对不能绕开学习 HTTP 协议这一环节。对基础及核心部分的深入学习是成为一名专业技术人员的前提,以不变应万变才是立足之本。

我在学习 Web 开发的过程中,曾接触到编写网络爬虫程序、分析抓包数据、实现 HTTP 服务器、提供网站 REST API、修改后端定制框架等方面,它们无一例外,都会用到 HTTP 协议的各方面知识,并且某些细节无法通过查阅资料立即领会到,还需依靠扎实的基础及平日里的积累。

本书作者的写作手法平实易懂,内容讲解透彻到位。前半部分由 HTTP 的成长发展史娓娓道来,基于 HTTP 1.1 标准讲解通信过程,包括 HTTP 方法、协议格式、报文结构、首部字段、状态码等的具体含义,还分别讲解 HTTP 通信过程中代理、网关、隧道等的作用。接着介绍 SPDY、WebSocket、WebDAV 等 HTTP 的扩展功能。作者还从细节方面举例,让读者更好地理解何为无状态(stateless)、301 和 302 重定向的区别在哪、缓存机制,等等。本书后半部分的重心放在 Web 安全上,涵盖 HTTPS、SSL、证书认证、加密机制、Web 攻击手段等内容。旨在让读者对 HTTP 协议形成一个整体概念,明确设计 HTTP 的目的及意义所在,了解 HTTP 的工作机制,掌握报文中常用的首部字段,返回结果状态码的作用,对各种客户端与服务器的通信交互场景的细节等都做到了然于心,从而在平时的开发工作中独立思考,迅速准确地定位分析由 HTTP 引发的问题,并辅以适当的方法加以解决。

本书图文并茂,大量图片穿插文中,生动形象地向读者介绍每一个应用案例,减少了读者阅读时的枯燥感。借助一张张配图,读者们不仅会加深视觉记忆,在轻松愉悦的氛围中,还可以更深刻地理解通信机制等背后的工作原理。正所谓一图胜千文。

在本书即将付梓之际,感谢 EMC 首席工程师高博学长、IBM 工程师李亚舟(Fleuria)、豆瓣运维工程师钱龙、全栈工程师缪思源(Aveline Swan)以及姜莹等好友。他们在繁重的工作之余,牺牲个人闲暇时间,耐心地帮我扫清技术疑点,修正翻译疏漏,在此谨表示衷心的感谢。

最后祝大家阅读愉快!

于均良

2014 年 1 月

目录

  • 版权声明
  • 译者序
  • 前言
  • 致谢
  • 第 1 章 了解 Web 及网络基础
  • 第 2 章 简单的 HTTP 协议
  • 第 3 章 HTTP 报文内的 HTTP 信息
  • 第 4 章 返回结果的 HTTP 状态码
  • 第 5 章 与 HTTP 协作的 Web 服务器
  • 第 6 章 HTTP 首部
  • 第 7 章 确保 Web 安全的 HTTPS
  • 第 8 章 确认访问用户身份的认证
  • 第 9 章 基于 HTTP 的功能追加协议
  • 第 10 章 构建 Web 内容的技术
  • 第 11 章 Web 的攻击技术