
David Gourley是Endeca的首席技术官(Chief Technology Officer),负责Endeca产品的研究及开发。Endeca开发的因特网及内部网络信息访问解决方案为企业级数据的导航及研究提供了一些新的方式。在到Endeca工作之前,David是Inktomi基础工程组的一员,他在那儿帮助开发了Inktomi的因特网搜索数据库,是Inktomi的Web缓存产品的主要开发者。David在加州大学伯克利分校获得了计算机科学的学士学位,还拥有Web技术方面的几项专利。Brian Totty最近出任了Inktomi公司(这是1996年他参与建立的一家公司)研发部副总裁,在公司中他负责Web缓存、流媒体及因特网搜索技术的研发工作。他曾是Silicon Graphics公司的一名科学家,他在那儿为高性能网络和超级计算机系统设计软件并对其进行优化。在那之前,他是苹果计算机公司高级技术组的一名工程师。Brian在伊利诺伊大学Urbana-Champaign分校获得了计算机科学的博士学位,在MIT获得了计算机科学及电子工程的学士学位,在那里他获得了计算机系统研究的Organick奖。他还为加州大学扩展系统开发并讲授了一些屡获殊荣的因特网技术方面的课程。Marjorie Sayer在Inktomi公司负责编写Web缓存方面的软件。在加州大学伯克利分校获得了数学硕士和博士学位之后,一直致力于数学课程的改革。从1990年开始致力于能量资源管理、并行系统软件、电话和网络方面的写作。Sailu Reddy目前在Inktomi公司负责嵌入式的性能增强型HTTP 代理的开发。Sailu从事复杂软件系统的开发已经有12年了,从1995年开始深入Web架构的研发工作。他是Netscape第一台Web服务器、Web 代理产品,以及后面几代产品的核心工程师。他具备HTTP应用程序、数据压缩技术、数据库引擎以及合作管理等方面的技术经验。Sailu在亚里桑那大学获得了信息系统的硕士学位并握有Web技术方面的多项专利。Anshu Aggarwal是Inktomi公司的工程总监。他领导着Inktomi公司Web缓存产品的协议处理工程组,从1997年就开始参与Inktomi的Web技术设计工作。Anshu在科罗拉多大学Boulder分校获得了计算机科学的硕士和博士学位,从事分布式多处理器的内存一致性技术研究。他还拥有电子工程的硕士和学士学位。Anshu撰写了多篇技术论文,还拥有两项专利。
超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重 的书。如果你对我们怎么会写出一本650页 的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。本书中,我们尝试着将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节,对HTTP各方面的特性进行了介绍。纵观全书,我们对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。而且,为了节省大家寻找参考文献的时间,我们还对很多HTTP应用程序正常工作所必须的、重要的非HTTP技术进行了介绍。在组织得便于使用的附录中,可以找到按照字母排序的首部参考(这些首部构成了最常见的HTTP文本的基础)。我们希望这种概念性的设计有助于读者对HTTP的使用。本书是为所有希望理解HTTP以及Web底层结构的人编写的。软硬件工程师也可以将本书作为HTTP及相关web技术的条理清楚的参考书使用。系统架构师和网络管理员可以通过本书更好地了解如何设计、实现并管理复杂的网络架构。性能工程师和分析人员可以从高速缓存和性能优化的相关章节中获益。市场营销和咨询专家可以通过概念的介绍更好地理解web技术的前景。本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。本书是很多对因特网技术充满热情的人经过大量工作写成的。希望对你有所帮助。
第一部分 HTTP:Web 的基础第1 章 HTTP 概述 ............................................................................................................................31.1 HTTP——因特网的多媒体信使 ...............................................................................................41.2 Web 客户端和服务器 .................................................................................................................41.3 资源 ............................................................................................................................................51.3.1 媒体类型 ........................................................................................................................61.3.2 URI.................................................................................................................................71.3.3 URL ...............................................................................................................................71.3.4 URN ...............................................................................................................................81.4 事务 ............................................................................................................................................91.4.1 方法 ...............................................................................................................................91.4.2 状态码 ..........................................................................................................................101.4.3 Web 页面中可以包含多个对象 ..................................................................................101.5 报文 ..........................................................................................................................................111.6 连接 ..........................................................................................................................................131.6.1 TCP/IP ..........................................................................................................................131.6.2 连接、IP 地址及端口号 ..............................................................................................141.6.3 使用Telnet 实例 ..........................................................................................................161.7 协议版本 ..................................................................................................................................181.8 Web 的结构组件 .......................................................................................................................191.8.1 代理 ..............................................................................................................................191.8.2 缓存 ..............................................................................................................................201.8.3 网关 ..............................................................................................................................201.8.4 隧道 ..............................................................................................................................211.8.5 Agent 代理 ....................................................................................................................211.9 起始部分的结束语 ...................................................................................................................221.10 更多信息 ................................................................................................................................221.10.1 HTTP 协议信息 ........................................................................................................221.10.2 历史透视 ...................................................................................................................231.10.3 其他万维网信息 .......................................................................................................23第2 章 URL 与资源 ........................................................................................................................252.1 浏览因特网资源 .......................................................................................................................262.2 URL 的语法 ..............................................................................................................................282.2.1 方案——使用什么协议 ..............................................................................................292.2.2 主机与端口 ..................................................................................................................302.2.3 用户名和密码 ..............................................................................................................302.2.4 路径 ..............................................................................................................................312.2.5 参数 ..............................................................................................................................312.2.6 查询字符串 ..................................................................................................................322.2.7 片段 ..............................................................................................................................332.3 URL 快捷方式 ..........................................................................................................................342.3.1 相对URL .....................................................................................................................342.3.2 自动扩展URL .............................................................................................................372.4 各种令人头疼的字符 ...............................................................................................................382.4.1 URL 字符集 .................................................................................................................382.4.2 编码机制 ......................................................................................................................382.4.3 字符限制 ......................................................................................................................392.4.4 另外一点说明 ..............................................................................................................402.5 方案的世界 ...............................................................................................................................402.6 未来展望 ..................................................................................................................................422.7 更多信息 ..................................................................................................................................44第3 章 HTTP 报文 ..........................................................................................................................453.1 报文流 ......................................................................................................................................463.1.1 报文流入源端服务器 ..................................................................................................463.1.2 报文向下游流动 ..........................................................................................................473.2 报文的组成部分 .......................................................................................................................473.2.1 报文的语法 ..................................................................................................................483.2.2 起始行 ..........................................................................................................................503.2.3 首部 ..............................................................................................................................533.2.4 实体的主体部分 ..........................................................................................................553.2.5 版本0.9 的报文 ...........................................................................................................553.3 方法 ..........................................................................................................................................563.3.1 安全方法 ......................................................................................................................563.3.2 GET ...............................................................................................................................563.3.3 HEAD ...........................................................................................................................573.3.4 PUT ...............................................................................................................................573.3.5 POST .............................................................................................................................583.3.6 TRACE .........................................................................................................................583.3.7 OPTIONS......................................................................................................................603.3.8 DELETE .......................................................................................................................603.3.9 扩展方法 ......................................................................................................................613.4 状态码 ......................................................................................................................................623.4.1 100 ~ 199——信息性状态码 ....................................................................................623.4.2 200 ~ 299——成功状态码 ........................................................................................633.4.3 300 ~ 399——重定向状态码 ....................................................................................643.4.4 400 ~ 499——客户端错误状态码 ............................................................................683.4.5 500 ~ 599——服务器错误状态码 ............................................................................693.5 首部 ..........................................................................................................................................703.5.1 通用首部 ......................................................................................................................713.5.2 请求首部 ......................................................................................................................723.5.3 响应首部 ......................................................................................................................743.5.4 实体首部 ......................................................................................................................753.6 更多信息 ..................................................................................................................................77第4 章 连接管理 ..............................................................................................................................794.1 TCP 连接..................................................................................................................................804.1.1 TCP 的可靠数据管道 ..................................................................................................804.1.2 TCP 流是分段的、由IP 分组传送.............................................................................814.1.3 保持TCP 连接的正确运行 .........................................................................................824.1.4 用TCP 套接字编程 .....................................................................................................844.2 对TCP 性能的考虑..................................................................................................................854.2.1 HTTP 事务的时延 .......................................................................................................864.2.2 性能聚焦区域 ..............................................................................................................874.2.3 TCP 连接的握手时延 ..................................................................................................874.2.4 延迟确认 ......................................................................................................................884.2.5 TCP 慢启动 ..................................................................................................................894.2.6 Nagle 算法与TCP_NODELAY ...................................................................................894.2.7 TIME_WAIT 累积与端口耗尽 ....................................................................................904.3 HTTP 连接的处理 ....................................................................................................................914.3.1 常被误解的Connection 首部 .................................................................................914.3.2 串行事务处理时延 ......................................................................................................924.4 并行连接 ..................................................................................................................................944.4.1 并行连接可能会提高页面的加载速度 ......................................................................944.4.2 并行连接不一定更快 ..................................................................................................954.4.3 并行连接可能让人“感觉”更快一些 ......................................................................954.5 持久连接 ..................................................................................................................................964.5.1 持久以及并行连接 ......................................................................................................964.5.2 HTTP/1.0+ Keep-Alive 连接 .......................................................................................974.5.3 keep-Alive 操作 ............................................................................................................984.5.4 keep-Alive 选项 ............................................................................................................984.5.5 keep-Alive 连接的限制和规则 ....................................................................................994.5.6 keep-Alive 和哑代理 ..................................................................................................1004.5.7 插入Proxy-Connection ......................................................................................1024.5.8 HTTP/1.1 持久连接 ...................................................................................................1044.5.9 持久连接的限制和规则 ............................................................................................1044.6 管道化连接 .............................................................................................................................1054.7 关闭连接的奥秘 .....................................................................................................................1064.7.1 “任意”解除连接 ......................................................................................................1064.7.2 Content-Length 及截尾操作 ...............................................................................1074.7.3 连接关闭容限、重试以及幂等性 ............................................................................1074.7.4 正常关闭连接 ............................................................................................................1084.8 更多信息 ................................................................................................................................1104.8.1 HTTP 连接 .................................................................................................................1104.8.2 HTTP 性能问题 .........................................................................................................1104.8.3 TCP/IP ........................................................................................................................ 111第二部分 HTTP 结构第5 章 Web 服务器 ......................................................................................................................1155.1 各种形状和尺寸的Web 服务器 ............................................................................................1165.1.1 Web 服务器的实现 ....................................................................................................1165.1.2 通用软件Web 服务器 ...............................................................................................1175.1.3 Web 服务器设备 ........................................................................................................1175.1.4 嵌入式Web 服务器 ...................................................................................................1185.2 最小的Perl Web 服务器 ........................................................................................................1185.3 实际的Web 服务器会做些什么 ............................................................................................1205.4 第一步——接受客户端连接 .................................................................................................1215.4.1 处理新连接 ................................................................................................................1215.4.2 客户端主机名识别 ....................................................................................................1225.4.3 通过ident 确定客户端用户 ......................................................................................1225.5 第二步——接收请求报文 .....................................................................................................1235.5.1 报文的内部表示法 ....................................................................................................1245.5.2 连接的输入/ 输出处理结构 .....................................................................................1255.6 第三步——处理请求 .............................................................................................................1265.7 第四步——对资源的映射及访问 .........................................................................................1265.7.1 docroot ........................................................................................................................1275.7.2 目录列表 ....................................................................................................................1295.7.3 动态内容资源的映射 ................................................................................................1305.7.4 服务器端包含项(SSI) .............................................................................................1315.7.5 访问控制 ....................................................................................................................1315.8 第五步——构建响应 .............................................................................................................1315.8.1 响应实体 ....................................................................................................................1315.8.2 MIME 类型.................................................................................................................1325.8.3 重定向 ........................................................................................................................1335.9 第六步——发送响应 .............................................................................................................1345.10 第七步——记录日志 ...........................................................................................................1345.11 更多信息 ...............................................................................................................................134第6 章 代理 ....................................................................................................................................1356.1 Web 的中间实体 .....................................................................................................................1366.1.1 私有和共享代理 ........................................................................................................1366.1.2 代理与网关的对比 ....................................................................................................1376.2 为什么使用代理 .....................................................................................................................1386.3 代理会去往何处 .....................................................................................................................1436.3.1 代理服务器的部署 ....................................................................................................1446.3.2 代理的层次结构 ........................................................................................................1446.3.3 代理是如何获取流量的 ............................................................................................1476.4 客户端的代理设置 .................................................................................................................1486.4.1 客户端的代理配置:手工 ........................................................................................1496.4.2 客户端代理配置:PAC 文件 ....................................................................................1496.4.3 客户端代理配置:WPAD .........................................................................................1506.5 与代理请求有关的棘手问题 .................................................................................................1516.5.1 代理URI 与服务器URI 的不同 ...............................................................................1516.5.2 与虚拟主机一样的问题 ............................................................................................1526.5.3 拦截代理会收到部分URI.........................................................................................1536.5.4 代理既可以处理代理请求,也可以处理服务器请求 ............................................1546.5.5 转发过程中对URI 的修改........................................................................................1546.5.6 URI 的客户端自动扩展和主机名解析.....................................................................1556.5.7 没有代理时URI 的解析............................................................................................1556.5.8 有显式代理时URI 的解析........................................................................................1566.5.9 有拦截代理时解析URI.............................................................................................1566.6 追踪报文 ................................................................................................................................1576.6.1 Via 首部.....................................................................................................................1586.6.2 TRACE 方法 ..............................................................................................................1626.7 代理认证 ................................................................................................................................1646.8 代理的互操作性 .....................................................................................................................1656.8.1 处理代理不支持的首部和方法 ................................................................................1656.8.2 OPTIONS:发现可选特性的支持............................................................................1666.8.3 Allow 首部 ................................................................................................................1676.9 更多信息 ................................................................................................................................167第7 章 缓存 ....................................................................................................................................1697.1 冗余的数据传输 .....................................................................................................................1707.2 带宽瓶颈 ................................................................................................................................1707.3 瞬间拥塞 ................................................................................................................................1717.4 距离时延 ................................................................................................................................1727.5 命中和未命中的 .....................................................................................................................1737.5.1 再验证 ........................................................................................................................1737.5.2 命中率 ........................................................................................................................1757.5.3 字节命中率 ................................................................................................................1767.5.4 区分命中和未命中的情况 ........................................................................................1767.6 缓存的拓扑结构 .....................................................................................................................1777.6.1 私有缓存 ....................................................................................................................1777.6.2 公有代理缓存 ............................................................................................................1777.6.3 代理缓存的层次结构 ................................................................................................1797.6.4 网状缓存、内容路由以及对等缓存 ........................................................................1807.7 缓存的处理步骤 .....................................................................................................................1817.7.1 第一步——接收 ........................................................................................................1817.7.2 第二步——解析 ........................................................................................................1827.7.3 第三步——查找 ........................................................................................................1827.7.4 第四步——新鲜度检测 ............................................................................................1827.7.5 第五步——创建响应 ................................................................................................1827.7.6 第六步——发送 ........................................................................................................1837.7.7 第七步——日志 ........................................................................................................1837.7.8 缓存处理流程图 ........................................................................................................1837.8 保持副本的新鲜 .....................................................................................................................1837.8.1 文档过期 ....................................................................................................................1847.8.2 过期日期和年龄 ........................................................................................................1857.8.3 服务器再验证 ............................................................................................................1857.8.4 用条件方法进行再验证 ............................................................................................1867.8.5 If-Modified-Since:Date 再验证 .......................................................................1877.8.6 If-None-Match????实体标签再验证 .......................................................................1897.8.7 强弱验证器 ................................................................................................................1907.8.8 什么时候应该使用实体标签和最近修改日期 ........................................................1907.9 对缓存能力的控制 .................................................................................................................1917.9.1 no-Store 与no-Cache 响应首部 .........................................................................1917.9.2 Max-Age 响应首部 ...................................................................................................1927.9.3 Expires 响应首部 ...................................................................................................1927.9.4 Must-Revalidate 响应首部 .................................................................................1927.9.5 试探性过期 ................................................................................................................1937.9.6 客户端的新鲜度限制 ................................................................................................1947.9.7 注意事项 ....................................................................................................................1947.10 设置缓存控制 .......................................................................................................................1957.10.1 控制Apache 的HTTP 首部 ....................................................................................1957.10.2 通过HTTP-EQUIV 控制HTML 缓存 ...................................................................1967.11 详细算法 ...............................................................................................................................1977.11.1 年龄和新鲜生存期 ...................................................................................................1987.11.2 使用期的计算 ...........................................................................................................1987.11.3 完整的使用期计算算法 ...........................................................................................2017.11.4 新鲜生存期计算 .......................................................................................................2027.11.5 完整的服务器—新鲜度算法 ...................................................................................2027.12 缓存和广告 ...........................................................................................................................2047.12.1 发布广告者的两难处境 ..........................................................................................2047.12.2 发布者的响应 ..........................................................................................................2047.12.3 日志迁移 ..................................................................................................................2057.12.4 命中计数和使用限制 ..............................................................................................2057.13 更多信息 ...............................................................................................................................205第8 章 集成点:网关隧道及中继 .............................................................................................2078.1 网关 ........................................................................................................................................2088.2 协议网关 ................................................................................................................................2108.2.1 HTTP/*:服务器端Web 网关 ..................................................................................2118.2.2 HTTP/HTTPS:服务器端安全网关 .........................................................................2128.2.3 HTTPS/HTTP 客户端安全加速器网关 ....................................................................2128.3 资源网关 ................................................................................................................................2138.3.1 通用网关接口(CGI) ................................................................................................2158.3.2 服务器扩展API .........................................................................................................2158.4 应用程序接口和Web 服务 ....................................................................................................2168.5 隧道 ........................................................................................................................................2178.5.1 用CONNECT 建立HTTP 隧道................................................................................2178.5.2 数据隧道、定时及连接管理 ....................................................................................2198.5.3 SSL 隧道.....................................................................................................................2198.5.4 SSL 隧道与HTTP/HTTPS 网关的对比 ...................................................................2208.5.5 隧道认证 ....................................................................................................................2218.5.6 隧道的安全性考虑 ....................................................................................................2218.6 中继 ........................................................................................................................................2228.7 更多信息 ................................................................................................................................224第9 章 Web 机器人 ......................................................................................................................2259.1 爬虫及爬行方式 .....................................................................................................................2269.1.1 从哪儿开始:根集 ....................................................................................................2269.1.2 链接的提取以及相对链接的标准化 ........................................................................2279.1.3 避免环路的出现 ........................................................................................................2289.1.4 循环与复制 ................................................................................................................2289.1.5 面包屑留下的痕迹 ....................................................................................................2299.1.6 别名与机器人环路 ....................................................................................................2309.1.7 规范化URL ...............................................................................................................2309.1.8 文件系统连接环路 ....................................................................................................2319.1.9 动态虚拟Web 空间 ...................................................................................................2329.1.10 避免循环和重复 ......................................................................................................2339.2 机器人的HTTP ......................................................................................................................2369.2.1 识别请求首部 ............................................................................................................2369.2.2 虚拟主机 ....................................................................................................................2369.2.3 条件请求 ....................................................................................................................2379.2.4 对响应的处理 ............................................................................................................2389.2.5 User-Agent 目标 ....................................................................................................2399.3 行为不当的机器人 .................................................................................................................2399.4 拒绝机器人访问 .....................................................................................................................2409.4.1 拒绝机器人访问标准 ................................................................................................2419.4.2 Web 站点和robots.txt 文件 .......................................................................................2429.4.3 robots.txt 文件的格式 ................................................................................................2439.4.4 其他有关robots.txt 的知识 .......................................................................................2469.4.5 缓存和robots.txt 的过期 ...........................................................................................2469.4.6 拒绝机器人访问的Perl 代码 ....................................................................................2479.4.7 HTML 的robot-control 元标签 ........................................................................2499.5 机器人的规范 .........................................................................................................................2519.6 搜索引擎 ................................................................................................................................2549.6.1 大格局 ........................................................................................................................2559.6.2 现代搜索引擎结构 ....................................................................................................2559.6.3 全文索引 ....................................................................................................................2559.6.4 发布查询请求 ............................................................................................................2579.6.5 对结果进行排序,并提供查询结果 ........................................................................2589.6.6 欺诈 ............................................................................................................................2589.7 更多信息 ................................................................................................................................258第10 章 HTTP-NG .......................................................................................................................26110.1 HTTP 发展中存在的问题 ....................................................................................................26210.2 HTTP-NG 的活动 .................................................................................................................26310.3 模块化及功能增强 ...............................................................................................................26310.4 分布式对象 ...........................................................................................................................26410.5 第一层——报文传输 ...........................................................................................................26410.6 第二层——远程调用 ...........................................................................................................26510.7 第三层——Web 应用 ...........................................................................................................26510.8 WebMUX ..............................................................................................................................26510.9 二进制连接协议 ...................................................................................................................26610.10 当前的状态 .........................................................................................................................26710.11 更多信息 .............................................................................................................................267第三部分 识别、认证与安全第11 章 客户端识别与cookie 机制 ........................................................................................27111.1 个性化接触 ...........................................................................................................................27211.2 HTTP 首部 ............................................................................................................................27311.3 客户端IP 地址 .....................................................................................................................27411.4 用户登录 ...............................................................................................................................27511.5 胖URL .................................................................................................................................27711.6 cookie ...................................................................................................................................27811.6.1 cookie 的类型 .........................................................................................................27811.6.2 cookie 是如何工作的 .............................................................................................27911.6.3 cookie 罐:客户端的状态 .....................................................................................28011.6.4 不同站点使用不同的cookie .................................................................................28211.6.5 cookie 成分 .............................................................................................................28311.6.6 cookies 版本0(Netscape) ....................................................................................28411.6.7 cookies 版本1(RFC 2965) ..................................................................................28511.6.8 cookie 与会话跟踪 .................................................................................................28811.6.9 cookie 与缓存 .........................................................................................................29011.6.10 cookie、安全性和隐私 ........................................................................................29111.7 更多信息 ...............................................................................................................................292第12 章 基本认证机制 ................................................................................................................29312.1 认证 ......................................................................................................................................29412.1.1 HTTP 的质询/ 响应认证框架 ...............................................................................29412.1.2 认证协议与首部 .....................................................................................................29512.1.3 安全域 .....................................................................................................................29612.2 基本认证 ...............................................................................................................................29712.2.1 基本认证实例 .........................................................................................................29812.2.2 Base-64 用户名/ 密码编码 ....................................................................................29812.2.3 代理认证 .................................................................................................................29912.3 基本认证的安全缺陷 ...........................................................................................................30012.4 更多信息 ...............................................................................................................................301第13 章 摘要认证 .........................................................................................................................30313.1 摘要认证的改进 ...................................................................................................................30413.1.1 用摘要保护密码的 .................................................................................................30413.1.2 单向摘要 .................................................................................................................30613.1.3 用随机数防止重放攻击 .........................................................................................30713.1.4 摘要认证的握手机制 .............................................................................................30713.2 摘要的计算 ...........................................................................................................................30813.2.1 摘要算法的输入数据 .............................................................................................30813.2.2 算法H(d) 和KD(s,d) .............................................................................................31013.2.3 与安全性相关的数据(A1) ..................................................................................31013.2.4 与报文有关的数据(A2) ......................................................................................31013.2.5 摘要算法总述 ....................................................................................................................31113.2.6 摘要认证会话 .........................................................................................................31213.2.7 预授权 .....................................................................................................................31213.2.8 随机数的选择 .........................................................................................................31513.2.9 对称认证 .................................................................................................................31513.3 增强保护质量 .......................................................................................................................31613.3.1 报文完整性保护 .....................................................................................................31613.3.2 摘要认证首部 .........................................................................................................31713.4 应该考虑的实际问题 ...........................................................................................................31713.4.1 多重质询 .................................................................................................................31813.4.2 差错处理 .................................................................................................................31813.4.3 保护空间 .................................................................................................................31813.4.4 重写URI .................................................................................................................31913.4.5 缓存 .........................................................................................................................31913.5 安全性考虑 ...........................................................................................................................32013.5.1 首部篡改 .................................................................................................................32013.5.2 重放攻击 .................................................................................................................32013.5.3 多重认证机制 .........................................................................................................32013.5.4 词典攻击 .................................................................................................................32113.5.5 恶意代理攻击和中间人攻击 .................................................................................32113.5.6 选择明文攻击 .........................................................................................................32113.5.7 存储密码 .................................................................................................................32213.6 更多信息 ...............................................................................................................................322第14 章 安全HTTP .....................................................................................................................32314.1 保护HTTP 的安全 ...............................................................................................................32414.2 数字加密 ...............................................................................................................................32614.2.1 密码编制的机制与技巧 .........................................................................................32614.2.2 密码 .........................................................................................................................32714.2.3 密码机 .....................................................................................................................32814.2.4 使用了密钥的密码 .................................................................................................32814.2.5 数字密码 .................................................................................................................32814.3 对称密钥加密技术 ...............................................................................................................33014.3.1 密钥长度与枚举攻击 .............................................................................................33014.3.2 建立共享密钥 .........................................................................................................33214.4 公开密钥加密技术 ...............................................................................................................33214.4.1 RSA .........................................................................................................................33314.4.2 混合加密系统和会话密钥 .....................................................................................33414.5 数字签名 ...............................................................................................................................33414.6 数字证书 ...............................................................................................................................33614.6.1 证书的主要内容 .....................................................................................................33614.6.2 X.509 v3 证书 .........................................................................................................33714.6.3 用证书对服务器进行认证 .....................................................................................33814.7 HTTPS——细节介绍 ...........................................................................................................33914.7.1 HTTPS 概述 ............................................................................................................33914.7.2 HTTPS 方案 ............................................................................................................34014.7.3 建立安全传输 .........................................................................................................34114.7.4 SSL 握手 .................................................................................................................34114.7.5 服务器证书 .............................................................................................................34314.7.6 站点证书的有效性 .................................................................................................34414.7.7 虚拟主机与证书 .....................................................................................................34514.8 HTTPS 客户端实例 ..............................................................................................................34514.8.1 OpenSSL .................................................................................................................34614.8.2 简单的HTTPS 客户端 ...........................................................................................34714.8.3 执行OpenSSL 客户端 ...........................................................................................35014.9 通过代理以隧道形式传输安全流量 ...................................................................................35114.10 更多信息 .............................................................................................................................35314.10.1 HTTP 安全性 ........................................................................................................35314.10.2 SSL 与TLS ...........................................................................................................35314.10.3 公开密钥基础设施 ...............................................................................................35414.10.4 数字密码 ...............................................................................................................354第四部分 实体、编码和国际化第15 章 实体和编码 .....................................................................................................................35715.1 报文是箱子,实体是货物 ...................................................................................................35915.1.1 实体主体 .................................................................................................................36015.2 Content-Length: 实体的大小 ......................................................................................36115.2.1 检测截尾 .................................................................................................................36115.2.2 错误的Content-Length ....................................................................................36215.2.3 Content-Length 与持久连接 ............................................................................36215.2.4 内容编码 .................................................................................................................36215.2.5 确定实体主体长度的规则 .....................................................................................36215.3 实体摘要 ...............................................................................................................................36415.4 媒体类型和字符集 ...............................................................................................................36415.4.1 文本的字符编码 .....................................................................................................36515.4.2 多部分媒体类型 .....................................................................................................36515.4.3 多部分表格提交 .....................................................................................................36615.4.4 多部分范围响应 .....................................................................................................36715.5 内容编码 ...............................................................................................................................36815.5.1 内容编码过程 .........................................................................................................36815.5.2 内容编码类型 .........................................................................................................36915.5.3 Accept-Encoding 首部 .....................................................................................36915.6 传输编码和分块编码 ...........................................................................................................37115.6.1 可靠传输 .................................................................................................................37115.6.2 Transfer-Encoding 首部 .................................................................................37215.6.3 分块编码 .................................................................................................................37315.6.4 内容编码与传输编码的结合 .................................................................................37515.6.5 传输编码的规则 .....................................................................................................37515.7 随时间变化的实例 ...............................................................................................................37515.8 验证码和新鲜度 ...................................................................................................................37615.8.1 新鲜度 .....................................................................................................................37715.8.2 有条件的请求与验证码 .........................................................................................37815.9 范围请求 ...............................................................................................................................38015.10 差异编码 .............................................................................................................................38215.11 更多信息 .............................................................................................................................385第16 章 国际化 ..............................................................................................................................38716.1 HTTP 对国际性内容的支持 ................................................................................................38816.2 字符集与HTTP ....................................................................................................................38916.2.1 字符集是把字符转换为二进制码的编码 .............................................................38916.2.2 字符集和编码如何工作 .........................................................................................39016.2.3 字符集不对,字符就不对 .....................................................................................39116.2.4 标准化的MIME charset 值 ....................................................................................39116.2.5 Content-Type 首部和Charset 首部以及META 标志 .................................39316.2.6 Accept-Charset 首部 ........................................................................................39316.3 多语言字符编码入门 ...........................................................................................................39416.3.1 字符集术语 .............................................................................................................39416.3.2 字符集的命名很糟糕 .............................................................................................39516.3.3 字符 .........................................................................................................................39616.3.4 字形、连笔以及表示形式 .....................................................................................39616.3.5 编码后的字符集 .....................................................................................................39716.3.6 字符编码方案 .........................................................................................................39916.4 语言标记与HTTP ................................................................................................................40216.4.1 Content-Language 首部 ...................................................................................40216.4.2 Accept-Language 首部 .....................................................................................40316.4.3 语言标记的类型 .....................................................................................................40416.4.4 子标记 .....................................................................................................................40416.4.5 大小写 .....................................................................................................................40516.4.6 IANA 语言标记注册 ..............................................................................................40516.4.7 第一个子标记——名字空间 .................................................................................40516.4.8 第二个子标记——名字空间 .................................................................................40616.4.9 其余子标记——名字空间 .....................................................................................40716.4.10 配置和语言有关的首选项 ...................................................................................40716.4.11 语言标记参考表 ...................................................................................................40716.5 国际化的URI .......................................................................................................................40816.5.1 全球性的可转抄能力与有意义的字符的较量 .....................................................40816.5.2 URI 字符集合 .........................................................................................................40816.5.3 转义和反转义 .........................................................................................................40916.5.4 转义国际化字符 .....................................................................................................40916.5.5 URI 中的模态切换 .................................................................................................41016.6 其他需要考虑的地方 ...........................................................................................................41016.6.1 首部和不合规范的数据 .........................................................................................41016.6.2 日期 .........................................................................................................................41116.6.3 域名 .........................................................................................................................41116.7 更多信息 ...............................................................................................................................41116.7.1 附录 .........................................................................................................................41116.7.2 互联网的国际化 .....................................................................................................41116.7.3 国际标准 .................................................................................................................412第17 章 内容协商与转码 ............................................................................................................41317.1 内容协商技术 .......................................................................................................................41417.2 客户端驱动的协商 ...............................................................................................................41517.3 服务器驱动的协商 ...............................................................................................................41517.3.1 内容协商首部集 .....................................................................................................41617.3.2 内容协商首部中的质量值 .....................................................................................41717.3.3 随其他首部集而变化 .............................................................................................41717.3.4 Apache 中的内容协商 ............................................................................................41717.3.5 服务器端扩展 .........................................................................................................41817.4 透明协商 ...............................................................................................................................41917.4.1 进行缓存与备用候选 .............................................................................................41917.4.2 Vary 首部 ...............................................................................................................42017.5 转码 ......................................................................................................................................42217.5.1 格式转换 .................................................................................................................42217.5.2 信息综合 .................................................................................................................42317.5.3 内容注入 .................................................................................................................42317.5.4 对比转码与静态预生成 .........................................................................................42317.6 下一步计划 ...........................................................................................................................42417.7 更多信息 ...............................................................................................................................424第五部分 内容发布与分发第18 章 Web 主机托管 ...............................................................................................................42918.1 主机托管服务 .......................................................................................................................43018.2 虚拟主机托管 .......................................................................................................................43118.2.1 虚拟服务器请求缺乏主机信息 .............................................................................43218.2.2 设法让虚拟主机托管正常工作 .............................................................................43318.2.3 HTTP/1.1 的Host 首部 ..........................................................................................43718.3 使网站更可靠 .......................................................................................................................43818.3.1 镜像的服务器集群 .................................................................................................43818.3.2 内容分发网络 .........................................................................................................44018.3.3 CDN 中的反向代理缓存 .......................................................................................44018.3.4 CDN 中的代理缓存 ...............................................................................................44018.4 让网站更快 ...........................................................................................................................44118.5 更多信息 ...............................................................................................................................441第19 章 发布系统 .........................................................................................................................44319.1 FrontPage 为支持发布而做的服务器扩展 .........................................................................44419.1.1 FrontPage 服务器扩展 ...........................................................................................44419.1.2 FrontPage 术语表 ...................................................................................................44519.1.3 FrontPage 的RPC 协议 ..........................................................................................44519.1.4 FrontPage 的安全模型 ...........................................................................................44819.2 WebDAV 与协作写作 ..........................................................................................................44919.2.1 WebDAV 的方法.....................................................................................................44919.2.2 WebDAV 与XML ...................................................................................................45019.2.3 WebDAV 首部集.....................................................................................................45119.2.4 WebDAV 的锁定与防止覆写.................................................................................45219.2.5 LOCK 方法 ...............................................................................................................45319.2.6 UNLOCK 方法 ..........................................................................................................45619.2.7 属性和元数据 .........................................................................................................45619.2.8 PROPFIND 方法 .....................................................................................................45719.2.9 PROPPATCH 方法 ...................................................................................................45919.2.10 集合与名字空间管理 ...........................................................................................46019.2.11 MKCOL 方法...........................................................................................................46019.2.12 DELETE 方法 ........................................................................................................46119.2.13 COPY 与MOVE 方法 .............................................................................................46219.2.14 增强的HTTP/1.1 方法 .........................................................................................46519.2.15 WebDAV 中的版本管理.......................................................................................46619.2.16 WebDAV 的未来发展...........................................................................................46619.3 更多信息 ...............................................................................................................................467第20 章 重定向与负载均衡 .......................................................................................................46920.1 为什么要重定向 ...................................................................................................................47020.2 重定向到何地 .......................................................................................................................47120.3 重定向协议概览 ...................................................................................................................47120.4 通用的重定向方法 ...............................................................................................................47420.4.1 HTTP 重定向 ..........................................................................................................47420.4.2 DNS 重定向 ............................................................................................................47520.4.3 任播寻址 .................................................................................................................48020.4.4 IP MAC 转发 ..........................................................................................................48120.4.5 IP 地址转发 ............................................................................................................48220.4.6 网元控制协议 .........................................................................................................48420.5 代理的重定向方法 ...............................................................................................................48520.5.1 显式浏览器配置 .....................................................................................................48520.5.2 代理自动配置 .........................................................................................................48520.5.3 Web 代理自动发现协议 .........................................................................................48720.6 缓存重定向方法 ...................................................................................................................49220.7 因特网缓存协议 ...................................................................................................................49620.8 缓存阵列路由协议 ...............................................................................................................49720.9 超文本缓存协议 ...................................................................................................................50020.9.1 HTCP 认证 ..............................................................................................................50220.9.2 设置缓存策略 .........................................................................................................50320.10 更多信息 .............................................................................................................................504第21 章 日志记录与使用情况跟踪 ..........................................................................................50521.1 记录的内容 ...........................................................................................................................50621.2 日志格式 ...............................................................................................................................50721.2.1 常见日志格式 .........................................................................................................50721.2.2 组合日志格式 .........................................................................................................50821.2.3 Netscape 的扩展日志格式 .....................................................................................50921.2.4 Netscape 扩展2 日志格式 .....................................................................................51021.2.5 Squid 代理日志格式 ...............................................................................................51221.3 命中率测量 ...........................................................................................................................51521.3.1 概述 .........................................................................................................................51521.3.2 Meter 首部 ..............................................................................................................51621.4 关于隐私的考虑 ...................................................................................................................51721.5 更多信息 ...............................................................................................................................518第六部分 附 录附录A URI 方案 ............................................................................................................................521附录B HTTP 状态码 ....................................................................................................................529附录C HTTP 首部参考 ...............................................................................................................533附录D MIME 类型 ........................................................................................................................557附录E Base-64 编码 ....................................................................................................................603附录F 摘要认证 .............................................................................................................................607附录G 语言标记 ............................................................................................................................615附录H MIME 字符集注册表.......................................................................................................641索引 ......................................................................................................................................................661
评论关闭。