当前位置:主页 > 计算机电子书 > 网络与数据通信 > HTTP下载
HTTP权威指南

HTTP权威指南 PDF 超清版

  • 更新:2019-10-25
  • 大小:25 MB
  • 类别:HTTP
  • 作者:David、Gourley
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

HTTP权威指南 PDF

HTTP及相关核心Web技术方面的权威著作
权威专家详解HTTP协议、深入说明Web工作原理
语言简洁精确,细节图解翔实
高效Web开发、Web程序员必备权威指南
HTTP是Web的基础,这里所说的Web,不仅只是通常意义上的Browser/Server端的开发,而是Web Service。
HTTP初看上去似乎是非常简单的协议,是的,HTTP 0.9确实是非常简单的,简单到只有一个GET方法,更不用说什么持久连接了。HTTP协议还有一个显著特点,那就是其协议是明文的基于文本的。这使得通过工具与HTTP进行交互变得非常简单,*原始的telnet也可以发送HTTP请求(参考本书15页)。

而大多数人对HTTP的了解也就是这种程度了(没有读此书之前的我也是这样)。此书的意义在于,它让你知道,HTTP不仅只有一个简单的GET,HTTP可以做为一种通用的分布式编程的协议。现如今Web上大行其道的所谓Restful Web Service,其基础就是HTTP,而提出Rest这个概念的Roy Fielding,也是HTTP协议(RFC2616)的主要作者之一

HTTP权威指南》是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何与架构构建块交互,如何正确实现因特网客户和服务器等。 《HTTP权威指南》适合所有想了解HTTP和Web底层结构的人阅读。

目录

  • 第一部分 HTTP:Web的基础
  • 第1章 HTTP概述 3
  • 1.1 HTTP——因特网的多媒体信使 4
  • 1.2 Web客户端和服务器 4
  • 1.3 资源 5
  • 1.3.1 媒体类型 6
  • 1.3.2 URI 7
  • 1.3.3 URL 7
  • 1.3.4 URN 8
  • 1.4 事务 9
  • 1.4.1 方法 9
  • 1.4.2 状态码 10
  • 1.4.3 Web页面中可以包含多个对象 10
  • 1.5 报文 11
  • 1.6 连接 13
  • 1.6.1 TCP/IP 13
  • 1.6.2 连接、IP地址及端口号 14
  • 1.6.3 使用Telnet实例 16
  • 1.7 协议版本 18
  • 1.8 Web的结构组件 19
  • 1.8.1 代理 19
  • 1.8.2 缓存 20
  • 1.8.3 网关 20
  • 1.8.4 隧道 21
  • 1.8.5 Agent代理 21
  • 1.9 起始部分的结束语 22
  • 1.10 更多信息 22
  • 1.10.1 HTTP协议信息 22
  • 1.10.2 历史透视 23
  • 1.10.3 其他万维网信息 23
  • 第2章 URL与资源 25
  • 2.1 浏览因特网资源 26
  • 2.2 URL的语法 28
  • 2.2.1 方案——使用什么协议 29
  • 2.2.2 主机与端口 30
  • 2.2.3 用户名和密码 30
  • 2.2.4 路径 31
  • 2.2.5 参数 31
  • 2.2.6 查询字符串 32
  • 2.2.7 片段 33
  • 2.3 URL快捷方式 34
  • 2.3.1 相对URL 34
  • 2.3.2 自动扩展URL 37
  • 2.4 各种令人头疼的字符 38
  • 2.4.1 URL字符集 38
  • 2.4.2 编码机制 38
  • 2.4.3 字符限制 39
  • 2.4.4 另外一点说明 40
  • 2.5 方案的世界 40
  • 2.6 未来展望 42
  • 2.7 更多信息 44
  • 第3章 HTTP报文 45
  • 3.1 报文流 46
  • 3.1.1 报文流入源端服务器 46
  • 3.1.2 报文向下游流动 47
  • 3.2 报文的组成部分 47
  • 3.2.1 报文的语法 48
  • 3.2.2 起始行 50
  • 3.2.3 首部 53
  • 3.2.4 实体的主体部分 55
  • 3.2.5 版本0.9的报文 55
  • 3.3 方法 56
  • 3.3.1 安全方法 56
  • 3.3.2 GET 56
  • 3.3.3 HEAD 57
  • 3.3.4 PUT 57
  • 3.3.5 POST 58
  • 3.3.6 TRACE 58
  • 3.3.7 OPTIONS 60
  • 3.3.8 DELETE 60
  • 3.3.9 扩展方法 61
  • 3.4 状态码 62
  • 3.4.1 100~199——信息性状态码 62
  • 3.4.2 200~299——成功状态码 63
  • 3.4.3 300~399——重定向状态码 64
  • 3.4.4 400~499——客户端错误状态码 68
  • 3.4.5 500~599——服务器错误状态码 69
  • 3.5 首部 70
  • 3.5.1 通用首部 71
  • 3.5.2 请求首部 72
  • 3.5.3 响应首部 74
  • 3.5.4 实体首部 75
  • 3.6 更多信息 77
  • 第4章 连接管理 79
  • 4.1 TCP连接 80
  • 4.1.1 TCP的可靠数据管道 80
  • 4.1.2 TCP流是分段的、由IP分组传送 81
  • 4.1.3 保持TCP连接的正确运行 82
  • 4.1.4 用TCP套接字编程 84
  • 4.2 对TCP性能的考虑 85
  • 4.2.1 HTTP事务的时延 86
  • 4.2.2 性能聚焦区域 87
  • 4.2.3 TCP连接的握手时延 87
  • 4.2.4 延迟确认 88
  • 4.2.5 TCP慢启动 89
  • 4.2.6 Nagle算法与TCP_NODELAY 89
  • 4.2.7 TIME_WAIT累积与端口耗尽 90
  • 4.3 HTTP连接的处理 91
  • 4.3.1 常被误解的Connection首部 91
  • 4.3.2 串行事务处理时延 92
  • 4.4 并行连接 94
  • 4.4.1 并行连接可能会提高页面的加载速度 94
  • 4.4.2 并行连接不一定更快 95
  • 4.4.3 并行连接可能让人“感觉”更快一些 95
  • 4.5 持久连接 96
  • 4.5.1 持久以及并行连接 96
  • 4.5.2 HTTP/1.0 keep-alive连接 97
  • 4.5.3 Keep-Alive操作 98
  • 4.5.4 Keep-Alive选项 98
  • 4.5.5 Keep-Alive连接的限制和规则 99
  • 4.5.6 Keep-Alive和哑代理 100
  • 4.5.7 插入Proxy-Connection 102
  • 4.5.8 HTTP/1.1持久连接 104
  • 4.5.9 持久连接的限制和规则 104
  • 4.6 管道化连接 105
  • 4.7 关闭连接的奥秘 106
  • 4.7.1 “任意”解除连接 106
  • 4.7.2 Content-Length及截尾操作 107
  • 4.7.3 连接关闭容限、重试以及幂等性 107
  • 4.7.4 正常关闭连接 108
  • 4.8 更多信息 110
  • 4.8.1 HTTP连接 110
  • 4.8.2 HTTP性能问题 110
  • 4.8.3 TCP/IP 111
  • 第二部分 HTTP结构
  • 第5章 Web服务器 115
  • 5.1 各种形状和尺寸的Web服务器 116
  • 5.1.1 Web服务器的实现 116
  • 5.1.2 通用软件Web服务器 117
  • 5.1.3 Web服务器设备 117
  • 5.1.4 嵌入式Web服务器 118
  • 5.2 最小的Perl Web服务器 118
  • 5.3 实际的Web服务器会做些什么 120
  • 5.4 第一步——接受客户端连接 121
  • 5.4.1 处理新连接 121
  • 5.4.2 客户端主机名识别 122
  • 5.4.3 通过ident确定客户端用户 122
  • 5.5 第二步——接收请求报文 123
  • 5.5.1 报文的内部表示法 124
  • 5.5.2 连接的输入/输出处理结构 125
  • 5.6 第三步——处理请求 126
  • 5.7 第四步——对资源的映射及访问 126
  • 5.7.1 docroot 127
  • 5.7.2 目录列表 129
  • 5.7.3 动态内容资源的映射 130
  • 5.7.4 服务器端包含项 131
  • 5.7.5 访问控制 131
  • 5.8 第五步——构建响应 131
  • 5.8.1 响应实体 131
  • 5.8.2 MIME类型 132
  • 5.8.3 重定向 133
  • 5.9 第六步——发送响应 134
  • 5.10 第七步——记录日志 134
  • 5.11 更多信息 134
  • 第6章 代理 135
  • 6.1 Web的中间实体 136
  • 6.1.1 私有和共享代理 136
  • 6.1.2 代理与网关的对比 137
  • 6.2 为什么使用代理 138
  • 6.3 代理会去往何处 143
  • 6.3.1 代理服务器的部署 144
  • 6.3.2 代理的层次结构 144
  • 6.3.3 代理是如何获取流量的 147
  • 6.4 客户端的代理设置 148
  • 6.4.1 客户端的代理配置:手工配置 149
  • 6.4.2 客户端代理配置:PAC文件 149
  • 6.4.3 客户端代理配置:WPAD 150
  • 6.5 与代理请求有关的一些棘手问题 151
  • 6.5.1 代理URI与服务器URI的不同 151
  • 6.5.2 与虚拟主机一样的问题 152
  • 6.5.3 拦截代理会收到部分URI 153
  • 6.5.4 代理既可以处理代理请求,也可以处理服务器请求 154
  • 6.5.5 转发过程中对URI的修改 154
  • 6.5.6 URI的客户端自动扩展和主机名解析 155
  • 6.5.7 没有代理时URI的解析 155
  • 6.5.8 有显式代理时URI的解析 156
  • 6.5.9 有拦截代理时URI的解析 157
  • 6.6 追踪报文 158
  • 6.6.1 Via首部 158
  • 6.6.2 TRACE方法 162
  • 6.7 代理认证 164
  • 6.8 代理的互操作性 165
  • 6.8.1 处理代理不支持的首部和方法 166
  • 6.8.2 OPTIONS:发现对可选特性的支持 166
  • 6.8.3 Allow首部 167
  • 6.9 更多信息 167
  • 第7章 缓存 169
  • 7.1 冗余的数据传输 170
  • 7.2 带宽瓶颈 170
  • 7.3 瞬间拥塞 171
  • 7.4 距离时延 172
  • 7.5 命中和未命中的 173
  • 7.5.1 再验证 173
  • 7.5.2 命中率 175
  • 7.5.3 字节命中率 176
  • 7.5.4 区分命中和未命中的情况 176
  • 7.6 缓存的拓扑结构 177
  • 7.6.1 私有缓存 177
  • 7.6.2 公有代理缓存 177
  • 7.6.3 代理缓存的层次结构 179
  • 7.6.4 网状缓存、内容路由以及对等缓存 180
  • 7.7 缓存的处理步骤 181
  • 7.7.1 第一步——接收 181
  • 7.7.2 第二步——解析 182
  • 7.7.3 第三步——查找 182
  • 7.7.4 第四步——新鲜度检测 182
  • 7.7.5 第五步——创建响应 182
  • 7.7.6 第六步——发送 183
  • 7.7.7 第七步——日志 183
  • 7.7.8 缓存处理流程图 183
  • 7.8 保持副本的新鲜 183
  • 7.8.1 文档过期 184
  • 7.8.2 过期日期和使用期 185
  • 7.8.3 服务器再验证 185
  • 7.8.4 用条件方法进行再验证 186
  • 7.8.5 If-Modified-Since:Date再验证 187
  • 7.8.6 If-None-Match:实体标签再验证 189
  • 7.8.7 强弱验证器 190
  • 7.8.8 什么时候应该使用实体标签和最近修改日期 190
  • 7.9 控制缓存的能力 191
  • 7.9.1 no-Store与no-Cache响应首部 191
  • 7.9.2 max-age响应首部 192
  • 7.9.3 Expires响应首部 192
  • 7.9.4 must-revalidate响应首部 192
  • 7.9.5 试探性过期 193
  • 7.9.6 客户端的新鲜度限制 194
  • 7.9.7 注意事项 194
  • 7.10 设置缓存控制 195
  • 7.10.1 控制Apache的HTTP首部 195
  • 7.10.2 通过HTTP-EQUIV控制HTML缓存 196
  • 7.11 详细算法 197
  • 7.11.1 使用期和新鲜生存期 198
  • 7.11.2 使用期的计算 198
  • 7.11.3 完整的使用期计算算法 201
  • 7.11.4 新鲜生存期计算 202
  • 7.11.5 完整的服务器——新鲜度算法 202
  • 7.12 缓存和广告 204
  • 7.12.1 发布广告者的两难处境 204
  • 7.12.2 发布者的响应 204
  • 7.12.3 日志迁移 205
  • 7.12.4 命中计数和使用限制 205
  • 7.13 更多信息 205
  • 第8章 集成点:网关、隧道及中继 207
  • 8.1 网关 208
  • 8.2 协议网关 210
  • 8.2.1 HTTP/*:服务器端Web网关 211
  • 8.2.2 HTTP/HTTPS:服务器端安全网关 212
  • 8.2.3 HTTPS/HTTP客户端安全加速器网关 212
  • 8.3 资源网关 213
  • 8.3.1 CGI 215
  • 8.3.2 服务器扩展API 215
  • 8.4 应用程序接口和Web服务 216
  • 8.5 隧道 217
  • 8.5.1 用CONNECT建立HTTP隧道 217
  • 8.5.2 数据隧道、定时及连接管理 219
  • 8.5.3 SSL隧道 219
  • 8.5.4 SSL隧道与HTTP/HTTPS网关的对比 220
  • 8.5.5 隧道认证 221
  • 8.5.6 隧道的安全性考虑 221
  • 8.6 中继 222
  • 8.7 更多信息 224
  • 第9章 Web机器人 225
  • 9.1 爬虫及爬行方式 226
  • 9.1.1 从哪儿开始:根集 226
  • 9.1.2 链接的提取以及相对链接的标准化 227
  • 9.1.3 避免环路的出现 228
  • 9.1.4 循环与复制 228
  • 9.1.5 面包屑留下的痕迹 229
  • 9.1.6 别名与机器人环路 230
  • 9.1.7 规范化URL 230
  • 9.1.8 文件系统连接环路 231
  • 9.1.9 动态虚拟Web空间 232

资源下载

资源下载地址1:https://pan.baidu.com/s/1Oh1SfzWiA5q4iPEgByVUsA

相关资源

网友留言