4.8 更多信息
到这里我们对 HTTP 通道事务处理的介绍就结束了。更多有关 TCP 性能和 HTTP 连接管理功能的内容请参见下列参考资源。
4.8.1 HTTP连接
http://www.ietf.org/rfc/rfc2616.txt
RFC 2616,“超文本传输协议——HTTP/1.1”是 HTTP/1.1 的官方规范;解释了并行、持久和管道式 HTTP 连接的使用,以及用于实现这些连接的 HTTP 首部字段。此文档并未涵盖对底层 TCP 连接的正确使用。
http://www.ietf.org/rfc/rfc2068.txt
RFC 2068 是 HTTP/1.1 协议的 1997 年的版本。其中包含了 RFC 2616 中没有的、对 HTTP/1.0+ keep-alive 连接的解释。
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-connection-00.txt
这个过期的因特网草案“HTTP Connection Management”,(“HTTP 连接管理”)探讨了 HTTP 连接管理面临的问题。
4.8.2 HTTP性能问题
http://www.w3.org/Protocols/HTTP/Performance/
这个名为“HTTP Performance Overview”(“HTTP 性能概览”)的 W3C Web 页面包含了几篇与 HTTP 性能和连接管理有关的文章和一些工具。
http://www.w3.org/Protocols/HTTP/1.0/HTTPPerformance.html
这个由 Simon Spero 制作的简短备忘录“Analysis of HTTP Performance Problems”(“HTTP 性能问题分析”) 是最早(1994 年)对 HTTP 连接性能进行评估的文献之一。对早期由于缺乏连接建立、慢启动和连接共享所造成的影响进行了一些性能测试,这个备忘录给出了一些测试结果。
ftp://gatekeeper.dec.com/pub/DEC/WRL/research-reports/WRL-TR-95.4.pdf
“The Case for Persistent-Connection HTTP.”(“持久连接 HTTP 的实例。”)
http://www.isi.edu/lsam/publications/phttp_tcp_interactions/paper.html
“Performance Interactions Between P-HTTP and TCP”Implementations(“P-HTTP 和 TCP 实现之间的性能交互”)。
http://www.sun.com/sun-on-net/performance/tcp.slowstart.html
“TCP Slow Start Tuning for Solaris”(“Solaris 的 TCP 慢启动调试”)是 Sun 微系统公司的一个 Web 页面,介绍了 TCP 慢启动带来的一些实际的影响。即使工作在不同的操作系统上,读一读这份资料也是有所帮助的。
4.8.3 TCP/IP
下面三本 W. Richard Stevens 的书都非常棒,详细介绍了 TCP/IP 的工程问题。对使用 TCP 的人来说尤其有用:
TCP Illustrated, Volume 1: The Protocols1(《TCP 详解,卷 1:协议》)
1 本书影印版已由人民邮电出版社出版。(编者注)
W. Richard Stevens,Addison Wesley 公司出版。
UNIX Network Programming, Volume 1: Networking APIs2(《UNIX 网络编程,卷 1:套接字联网 API(第 3 版)》)
W. Richard Stevens,Prentice-Hall 公司出版。
UNIX Network Programming, Volume 2: The Implementation3(《UNIX 网络编程,卷 2:进程间通信(第 2 版)》)
W. Richard Stevens,Prentice-Hall 公司出版。
2~3 两本书中文版已由人民邮电出版社出版。(编者注)
下面的文章和规范介绍了 TCP/IP 及影响其性能的特性。其中有些规范已经有 20 多年的历史了,鉴于 TCP/IP 在全球范围内的成功,很可能已经可以将其归为历史宝藏了。
http://www.acm.org/sigcomm/ccr/archive/2001/jan01/ccr-200101-mogul.pdf
在“Rethinking the TCP Nagle Algorithm”(“对 TCP Nagle 算法的反思”)一文中,Jeff Mogul 和 Greg Minshall 提出了 Nagle 算法的一种现代视角,概括了哪些应用程序应该,哪些不应该使用这个算法,并提出了几条改进意见。
http://www.ietf.org/rfc/rfc2001.txt
RFC 2001,“TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast Recovery Algorithms”(“TCP 慢启动、避免拥塞、快速重传以及快速恢复算法”)定义了 TCP 慢启动算法。
http://www.ietf.org/rfc/rfc1122.txt
RFC 1122,“Requirements for Internet Hosts—Communication Layers”(“对因特网主机的要求——通信层”)讨论了 TCP 确认和延迟确认。
http://www.ietf.org/rfc/rfc896.txt
RFC 896,“Congestion Control in IP/TCP Internetworks”(“IP/TCP 网络间的拥塞控制”)是 John Nagle 于 1984 年发布的。描述了 TCP 拥塞控制的必要性。介绍了现在称为“Nagle 算法”的算法。
http://www.ietf.org/rfc/rfc0813.txt
RFC 813,“Window and Acknowledgement Strategy in TCP”(“TCP 中的窗口和确认机制”)是一个早些年(1982 年)制定的规范,它描述了 TCP 窗口和确认的实现机制,解释了延迟确认技术的早期技术。
http://www.ietf.org/rfc/rfc0793.txt
RFC 793,“Transmission Control Protocol”(“传输控制协议”),是 Jon Postel 于 1981 年给出的 TCP 协议经典定义。

