Jenkins权威指南

Jenkins权威指南
作者:
guwen
译者:
陈涓 / 赵振平
语言:
中文
类型:
EPUB
页数:
720页
大小:
0.47 MB
出版社:
GitBook
出版时间:
2015-10-15
ISBN:
9787115281487
分类:

内容简介

超文本传输协议(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 概述 …………………………………………………………………………………………………………….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 服务器端包含项(SSI) …………………………………………………………………………………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…………………………………………………………………………………156
6.6 追踪报文 ………………………………………………………………………………………………………………..157
6.6.1 Via 首部………………………………………………………………………………………………………158
6.6.2 TRACE 方法 ………………………………………………………………………………………………..162
6.7 代理认证 ………………………………………………………………………………………………………………..164
6.8 代理的互操作性 ………………………………………………………………………………………………………165
6.8.1 处理代理不支持的首部和方法 ……………………………………………………………………..165
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 完整的使用期计算算法 ………………………………………………..

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
免责申明
1. 本站分享的所有书籍均来源于自互联网,我们只进行收集整理,并不对书籍内容进行更改。
2. 部分书籍中可能有书籍压制者放置的广告,这并不是本站所为,请注意甄别。
3. 我们分享这些书籍,纯粹是出于知识分享的热情,以及对互联网分享精神的高度认同和践行,不以盈利为目的。
4. 本站分享的所有书籍,仅供个人学习研究使用,请勿用于任何商业用途,否则产生的一切法律纠纷与本站无关。
5. 如果这些书籍让你有所收获,在条件允许的情况下,请一定购买正版书籍,这是对创作者最好的支持。
6. 如果您是此书籍的版权所有者,且您不希望此作品出现在本站,请联系我们,我们将在收到您的请求后48小时内予以删除。

📖 支持知识自由流动

每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索