HTTP权威指南
David Gourley, Brian Totty, Marjorie Sayer, Sailu Reddy, Anshu Aggarwal
出版时间:2012年07月
页数:694
HTTP是Web客户端与服务器交互文档和信息时所使用的协议,是每个成功Web事务的幕后推手。众所周知,我们每天访问公司内部网络、搜索绝版书籍、研究统计信息时所使用的浏览器的核心就是HTTP。但HTTP的应用远不仅仅是浏览Web内容。由于HTTP既简单又普及,很多其他网络应用程序也选择了它,尤其是采用SOAP和XML-RPC这样的Web服务。
本书详细解释了HTTP协议,包括它是如何工作的,如何用它来开发基于Web的应用程序。但本书并不只介绍了HTTP,还探讨了HTTP有效工作所依赖的所有其他核心因特网技术。尽管HTTP是本书的中心内容,但本书的本质是理解Web的工作原理,以及如何将这些知识应用到Web编程和管理之中,主要涵盖HTTP的技术运作方式、产生动机、性能和目标以及一些相关技术问题。
本书是HTTP协议及相关Web技术方面的权威著作,主要内容包括:
· HTTP方法、首部以及状态码
· 优化代理和缓存的方法
· 设计Web机器人和爬虫的策略
· Cookies、认证以及安全HTTP
· 国际化及内容协商
· 重定向及负载平衡策略
本书由具有多年实践经验的专家编写,通过简洁、精确的语言和大量翔实的细节图解帮助读者形象地理解Web幕后所发生的事情,详细说明了Web上每条请求的实际运行情况。
要想高效地进行Web开发,所有Web程序员、管理员和应用程序开发者都应该熟悉HTTP。很多书籍只介绍了Web的使用方式,而本书则深入说明了Web的工作原理。
  1. 第一部分  http:web 的基础
  2. 第1章  http 概述  
  3. 1.1  http——因特网的多媒体信使  
  4. 1.2  web 客户端和服务器
  5. 1.3  资源  
  6. 1.4  事务  
  7. 1.5  报文  
  8. 1.6  连接  
  9. 1.7  协议版本 
  10. 1.8  web 的结构组件  
  11. 1.9  起始部分的结束语    
  12. 1.10  更多信息  
  13. 第2章 url 与资源  
  14. 2.1  浏览因特网资源    
  15. 2.2  url 的语法    
  16. 2.3  url 快捷方式    
  17. 2.4  各种令人头疼的字符    
  18. 2.5  方案的世界  
  19. 2.6  未来展望  
  20. 2.7  更多信息  
  21. 第3章  http 报文    
  22. 3.1  报文流    
  23. 3.2  报文的组成部分    
  24. 3.3  方法  
  25. 3.4  状态码  
  26. 3.6  更多信息 
  27. 第4章  连接管理    
  28. 4.1  tcp 连接  
  29. 4.2  对tcp 性能的考虑
  30. 4.3  http 连接的处理    
  31. 4.4  并行连接  
  32. 4.5  持久连接  
  33. 4.6  管道化连接  
  34. 4.7  关闭连接的奥秘
  35. 4.8  更多信息  
  36. 第二部分  http 结构
  37. 第5章  web 服务器
  38. 5.1  各种形状和尺寸的web 服务器
  39. 5.2  最小的perl web 服务器
  40. 5.3  实际的web 服务器会做些什么
  41. 5.4  第一步——接受客户端连接
  42. 5.5  第二步——接收请求报文
  43. 5.6  第三步——处理请求
  44. 5.7  第四步——对资源的映射及访问    
  45. 5.8  第五步——构建响应
  46. 5.9  第六步——发送响应
  47. 5.10  第七步——记录日志  
  48. 5.11  更多信息 
  49. 第6章  代理  
  50. 6.1  web 的中间实体
  51. 6.2  为什么使用代理
  52. 6.3  代理会去往何处
  53. 6.4  客户端的代理设置
  54. 6.5  与代理请求有关的一些棘手问题  
  55. 6.6  追踪报文 
  56. 6.7  代理认证  
  57. 6.8  代理的互操作性
  58. 6.9  更多信息 
  59. 第7章  缓存  
  60. 7.1  冗余的数据传输
  61. 7.2  带宽瓶颈 
  62. 7.3  瞬间拥塞 
  63. 7.4  距离时延 
  64. 7.5  命中和未命中的
  65. 7.6  缓存的拓扑结构
  66. 7.7  缓存的处理步骤
  67. 7.8  保持副本的新鲜
  68. 7.9  控制缓存的能力
  69. 7.10  设置缓存控制    
  70. 7.11  详细算法  
  71. 7.12  缓存和广告  
  72. 7.13  更多信息 
  73. 第8章  集成点:网关、隧道及中继  
  74. 8.1  网关 
  75. 8.2  协议网关 
  76. 8.3  资源网关 
  77. 8.4  应用程序接口和web 服务
  78. 8.5  隧道 
  79. 8.6  中继 
  80. 8.7  更多信息 
  81. 第9章  web 机器人
  82. 9.1  爬虫及爬行方式
  83. 9.2  机器人的http
  84. 9.3  行为不当的机器人
  85. 9.4  拒绝机器人访问
  86. 9.5  机器人的规范    
  87. 9.6  搜索引擎 
  88. 9.7  更多信息 
  89. 第10章  http-ng  
  90. 10.1  http 发展中存在的问题
  91. 10.2  http-ng 的活动
  92. 10.3  模块化及功能增强
  93. 10.4  分布式对象  
  94. 10.5  第一层——报文传输  
  95. 10.6  第二层——远程调用  
  96. 10.7  第三层——web 应用  
  97. 10.8  webmux    265
  98. 10.9  二进制连接协议  
  99. 10.10  当前的状态  
  100. 10.11  更多信息  
  101. 第三部分  识别、认证与安全
  102. 第11章  客户端识别与cookie 机制  
  103. 11.1  个性化接触  
  104. 11.2  http 首部 
  105. 11.3  客户端ip 地址
  106. 11.4  用户登录 
  107. 11.5  胖url 
  108. 11.6  cookie  
  109. 11.7  更多信息 
  110. 第12章  基本认证机制
  111. 12.1  认证  
  112. 12.2  基本认证  
  113. 12.3  基本认证的安全缺陷  
  114. 12.4  更多信息 
  115. 第13章  摘要认证  
  116. 13.1  摘要认证的改进  
  117. 13.2  摘要的计算
  118. 13.3  增强保护质量  
  119. 13.4  应该考虑的实际问题  
  120. 13.5  安全性考虑  
  121. 13.6  更多信息 
  122. 第14章  安全http
  123. 14.1  保护http 的安全  
  124. 14.2  数字加密  
  125. 14.3  对称密钥加密技术  
  126. 14.4  公开密钥加密技术  
  127. 14.5  数字签名 
  128. 14.6  数字证书 
  129. 14.7  https——细节介绍    
  130. 14.8  https 客户端实例    
  131. 14.9  通过代理以隧道形式传输安全流量  
  132. 14.10  更多信息    
  133. 第四部分  实体、编码和国际化
  134. 第15章  实体和编码
  135. 15.1  报文是箱子,实体是货物  
  136. 15.2  content-length: 实体的大小
  137. 15.3  实体摘要 
  138. 15.4  媒体类型和字符集    
  139. 15.5  内容编码 
  140. 15.6  传输编码和分块编码    
  141. 15.7  随时间变化的实例  
  142. 15.8  验证码和新鲜度    
  143. 15.9  范围请求 
  144. 15.10  差异编码  
  145. 15.11  更多信息  
  146. 第16章  国际化  
  147. 16.1  http 对国际性内容的支持
  148. 16.2  字符集与http    
  149. 16.3  多语言字符编码入门  
  150. 16.4  语言标记与http
  151. 16.5  国际化的uri  
  152. 16.6  其他需要考虑的地方  
  153. 16.7  更多信息 
  154. 第17章  内容协商与转码
  155. 17.1  内容协商技术  
  156. 17.2  客户端驱动的协商  
  157. 17.3  服务器驱动的协商  
  158. 17.4  透明协商 
  159. 17.5  转码    
  160. 17.6  下一步计划  
  161. 17.7  更多信息 
  162. 第五部分  内容发布与分发
  163. 第18章  web 主机托管  
  164. 18.1  主机托管服务  
  165. 18.2  虚拟主机托管  
  166. 18.3  使网站更可靠    
  167. 18.4  让网站更快  
  168. 18.5  更多信息 
  169. 第19章  发布系统  
  170. 19.1  frontpage 为支持发布而做的服务器扩展 
  171. 19.2  webdav 与协作写作
  172. 19.3  更多信息 
  173. 第20章  重定向与负载均衡  
  174. 20.1  为什么要重定向  
  175. 20.2  重定向到何地  
  176. 20.3  重定向协议概览  
  177. 20.4  通用的重定向方法  
  178. 20.5  代理的重定向方法  
  179. 20.6  缓存重定向方法  
  180. 20.7  因特网缓存协议  
  181. 20.8  缓存阵列路由协议  
  182. 20.9  超文本缓存协议  
  183. 20.10  更多信息  
  184. 第21章  日志记录与使用情况跟踪  
  185. 21.1  记录内容 
  186. 21.2  日志格式  
  187. 21.3  命中率测量    
  188. 21.4  关于隐私的考虑  
  189. 21.5  更多信息 
  190. 第六部分  附  录
  191. 附录a  uri 方案 
  192. 附录b  http 状态码  
  193. 附录c  http 首部参考  
  194. 附录d  mime 类型  
  195. 附录e  base-64 编码  
  196. 附录f  摘要认证  
  197. 附录g  语言标记 
  198. 附录h  mime 字符集注册表
  199. 索引 
书名:HTTP权威指南
国内出版社:人民邮电出版社
出版时间:2012年07月
页数:694
书号:978-7-115-28148-7
原版书书名:HTTP: The Definitive Guide
原版书出版商:O'Reilly Media
David Gourley
 
David Gourley是Endeca的首席技术官(ChiefcTechnologycOfficer),负责Endeca产品的研究及开发。Endeca开发的因特网及内部网络信息访问解决方案为企业级数据的导航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基础工程组的一员,他在那儿帮助开发了Inktomi的因特网搜索数据库,是Inktomi的Web缓存产品的主要开发者。
David在加州大学伯克利分校获得了计算机科学的学士学位,还拥有Web技术方面的几项专利。
 
 
Brian Totty
 
Brian Totty最近出任了Inktomi公司(这是1996年他参与建立的一家公司)研发部副总裁,在公司中他负责Web缓存、流媒体及因特网搜索技术的研发工作。他曾是SiliconcGraphics公司的一名科学家,他在那儿为高性能网络和超级计算机系统设计软件并对其进行优化。在那之前,他是苹果计算机公司高级技术组的一名工程师。
Brian在伊利诺伊大学Urbana-Champaign分校获得了计算机科学的博士学位,在MIT获得了计算机科学及电子工程的学士学位,在那里他获得了计算机系统研究的Organick奖。他还为加州大学扩展系统开发并讲授了一些屡获殊荣的因特网技术方面的课程。
 
 
Marjorie Sayer
 
Marjorie Sayer在Inktomi公司负责编写Web缓存方面的软件。在加州大学伯克利分校获得了数学硕士和博士学位之后,一直致力于数学课程的改革。从1990年开始致力于能量资源管理、并行系统软件、电话和网络方面的写作。
 
 
Sailu Reddy
 
Sailu Reddy目前在Inktomi公司负责嵌入式的性能增强型HTTP代理的开发。Sailu从事复杂软件系统的开发已经有12年了,从1995年开始深入Web架构的研发工作。他是Netscape第一台Web服务器、Web代理产品,以及后面几代产品的核心工程师。他具备HTTP应用程序、数据压缩技术、数据库引擎以及合作管理等方面的技术经验。Sailu在亚里桑那大学获得了信息系统的硕士学位并握有Web技术方面的多项专利。
 
 
Anshu Aggarwal
 
Anshu Aggarwal是Inktomi公司的工程总监。他领导着Inktomi公司Web缓存产品的协议处理工程组,从1997年就开始参与Inktomi的Web技术设计工作。Anshu在科罗拉多大学Boulder分校获得了计算机科学的硕士和博士学位,从事分布式多处理器的内存一致性技术研究。他还拥有电子工程的硕士和学士学位。Anshu撰写了多篇技术论文,还拥有两项专利。