E-BOOK 图解HTTP 上野宣 图解HTTP

图解HTTP

👤 上野宣 📖 人民邮电出版社 📋 9787115351531 🌐 zh-CN
102
下载次数
4.8
用户评分

📦 下载本书

  • 理解HTTP协议:通过图解和实例,系统掌握HTTP协议的结构、通信流程及核心概念,解决初学者对协议抽象难懂的问题。
  • 分析网络抓包:详细讲解请求与响应报文、状态码及头部字段,帮助前端工程师高效分析浏览器开发者工具中的抓包数据。
  • 实现REST API:阐述HTTP方法、状态码及内容协商等机制,为后端工程师设计符合规范的REST API提供理论支撑。
  • 构建Web服务器:介绍HTTP服务器的协作机制及代理、网关等转发程序,指导读者实现自己的HTTP服务器。
  • 保障Web安全:延伸至Web安全领域,讲解与HTTP相关的安全威胁及防御措施,提升读者对安全问题的认识。
★★★
中级
入门初级中级进阶高级
  • Web开发工程师:无论是前端还是后端,都需要深入理解HTTP协议以优化开发、调试及性能提升。
  • 网络初学者:对网络通信感兴趣但缺乏系统知识,本书图解方式可轻松入门。
  • 安全从业者:需要掌握HTTP协议细节以识别和防范Web攻击,本书涵盖相关安全知识。
  • 计算机专业学生:作为计算机网络课程的辅助读物,帮助巩固课堂知识并拓展实践视野。
  1. 循序渐进:建议按章节顺序阅读,从基础概念到高级特性,逐步构建完整知识体系。
  2. 重点章节:第2章、第4章和第6章是核心,务必精读并配合抓包工具实践。
  3. 动手实践:每章后尝试用浏览器开发者工具观察HTTP通信,加深对协议的理解。
  4. 结合安全:阅读第11章时,可结合OWASP指南,提升Web安全意识。
  5. 复习巩固:读完后回顾全书图解,梳理HTTP协议脉络,形成长期记忆。
  • 掌握HTTP核心:理解请求与响应、方法、状态码、首部等关键概念,能熟练阅读抓包数据。
  • 提升开发能力:学会设计规范的REST API,优化Web应用性能,解决实际开发中的通信问题。
  • 强化安全意识:识别常见Web攻击类型(如SQL注入、XSS),并了解HTTPS等安全机制。
  • 拓宽技术视野:了解HTTP/2、WebSocket等新技术,为后续深入学习打下基础。
  • 培养图解思维:通过大量图示,学会将复杂技术可视化,提升学习与沟通效率。

📖 书籍简介


内容介绍

  《图解HTTP》对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,**后延伸到Web安全、**新技术动向等方面。《图解HTTP》的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过《图解HTTP》快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。   《图解HTTP》适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。

作者介绍

作者简介 上野 宣 OWASP 日本分会会长,TRICORDER株式会社董事长。 主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web:A Guide to Securing Modern Web Application日文版的审校工作。 译者简介 于均良 上海交通大学硕士,**软件工程师,马拉松跑者,四点网创始人。

关联推荐

172张图解轻松入门,一本书掌握HTTP协议
目录

目 录

第 1章 了解Web及网络基础 001
1.1 使用HTTP协议访问Web 002
1.2 HTTP的诞生 003
1.2.1 为知识共享而规划Web 003
1.2.2 Web成长时代 004
1.2.3 驻足不前的HTTP 005
1.3 网络基础TCP/IP 006
1.3.1 TCP/IP协议族 006
1.3.2 TCP/IP的分层管理 007
1.3.3 TCP/IP通信传输流 009
1.4 与HTTP关系密切的协议:IP、TCP和DNS 010
1.4.1 负责传输的IP协议 011
1.4.2 确保可靠性的TCP协议 012
1.5 负责域名解析的DNS服务 013
1.6 各种协议与HTTP协议的关系 014
1.7 URI和URL 016
1.7.1 统一资源标识符 016
1.7.2 URI格式 017

第 2章 简单的HTTP协议 021
2.1 HTTP协议用于客户端和服务器端之间的通信 022
2.2 通过请求和响应的交换达成通信 022
2.3 HTTP是不保存状态的协议 025
2.4 请求URI定位资源 026
2.5 告知服务器意图的HTTP方法 027
2.6 使用方法下达命令 033
2.7 持久连接节省通信量 034
2.7.1 持久连接 036
2.7.2 管线化 037
2.8 使用Cookie的状态管理 037

第3章 HTTP报文内的HTTP信息 041
3.1 HTTP报文 042
3.2 请求报文及响应报文的结构 042
3.3 编码提升传输速率 044
3.3.1 报文主体和实体主体的差异 044
3.3.2 压缩传输的内容编码 044
3.3.3 分割发送的分块传输编码 045
3.4 发送多种数据的多部分对象集合 046
3.5 获取部分内容的范围请求 048
3.6 内容协商返回**合适的内容 050

第4章 返回结果的HTTP状态码 053
4.1 状态码告知从服务器端返回的请求结果 054
4.2 2XX成功 055
4.2.1 200 OK 055
4.2.2 204 No Content 056
4.2.3 206 Partial Content 056
4.3 3XX重定向 056
4.3.1 301 Moved Permanently 057
4.3.2 302 Found 057
4.3.3 303 See Other 058
4.3.4 304 Not Modified 059
4.3.5 307 Temporary Redirect 059
4.4 4XX客户端错误 060
4.4.1 400 Bad Request 060
4.4.2 401 Unauthorized 060
4.4.3 403 Forbidden 061
4.4.4 404 Not Found 061
4.5 5XX服务器错误 062
4.5.1 500 Internal Server Error 062
4.5.2 503 Service Unavailable 062

第5章 与HTTP协作的Web服务器 065
5.1 用单台虚拟主机实现多个域名 066
5.2 通信数据转发程序:代理、网关、隧道 067
5.2.1 代理 068
5.2.2 网关 070
5.2.3 隧道 070
5.3 保存资源的缓存 071
5.3.1 缓存的有效期限 072
5.3.2 客户端的缓存 072

第6章 HTTP首部 075
6.1 HTTP报文首部 076
6.2 HTTP首部字段 078
6.2.1 HTTP首部字段传递重要信息 078
6.2.2 HTTP首部字段结构 078
6.2.3 4种HTTP首部字段类型 079
6.2.4 HTTP/1.1首部字段一览 080
6.2.5 非HTTP/1.1首部字段 082
6.2.6 End-to-end首部和Hop-by-hop首部 083
6.3 HTTP/1.1通用首部字段 083
6.3.1 Cache-Control 084
6.3.2 Connection 091
6.3.3 Date 093
6.3.4 Pragma 094
6.3.5 Trailer 095
6.3.6 Transfer-Encoding 096
6.3.7 Upgrade 097
6.3.8 Via 098
6.3.9 Warning 099
6.4 请求首部字段 100
6.4.1 Accept 101
6.4.2 Accept-Charset 102
6.4.3 Accept-Encoding 103
6.4.4 Accept-Language 104
6.4.5 Authorization 105
6.4.6 Expect 106
6.4.7 From 107
6.4.8 Host 107
6.4.9 If-Match 108
6.4.10 If-Modified-Since 110
6.4.11 If-None-Match 111
6.4.12 If-Range 112
6.4.13 If-Unmodified-Since 113
6.4.14 Max-Forwards 114
6.4.15 Proxy-Authorization 115
6.4.16 Range 116
6.4.17 Referer 116
6.4.18 TE 117
6.4.19 User-Agent 118
6.5 响应首部字段119
6.5.1 Accept-Ranges 119
6.5.2 Age 120
6.5.3 ETag 120
6.5.4 Location 122
6.5.5 Proxy-Authenticate 123
6.5.6 Retry-After 123
6.5.7 Server 124
6.5.8 Vary 125
6.5.9 WWW-Authenticate 125
6.6 实体首部字段126
6.6.1 Allow 126
6.6.2 Content-Encoding 127
6.6.3 Content-Language 128
6.6.4 Content-Length 128
6.6.5 Content-Location 129
6.6.6 Content-MD5 129
6.6.7 Content-Range 130
6.6.8 Content-Type 131
6.6.9 Expires 131
6.6.10 Last-Modified 132
6.7 为Cookie服务的首部字段 132
6.7.1 Set-Cookie 134
6.7.2 Cookie 136
6.8 其他首部字段137
6.8.1 X-Frame-Options 137
6.8.2 X-XSS-Protection 138
6.8.3 DNT 138
6.8.4 P3P 139

第7章 确保Web安全的HTTPS 141
7.1 HTTP的缺点 142
7.1.1 通信使用明文可能会被窃听 142
7.1.2 不验证通信方的身份就可能遭遇伪装 146
7.1.3 无法证明报文完整性,可能已遭篡改 148
7.2 HTTP+加密+认证+完整性保护=HTTPS 150
7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 150
7.2.2 HTTPS是身披SSL外壳的HTTP 151
7.2.3 相互交换密钥的公开密钥加密技术 152
7.2.4 证明公开密钥正确性的证书 155
7.2.5 HTTPS的安全通信机制 161

第8章 确认访问用户身份的认证 167
8.1 何为认证 168
8.2 BASIC认证 169
8.3 DIGEST认证171
8.4 SSL客户端认证173
8.4.1 SSL客户端认证的认证步骤 174
8.4.2 SSL客户端认证采用双因素认证 175
8.4.3 SSL客户端认证必要的费用 175
8.5 基于表单认证 175
8.5.1 认证多半为基于表单认证 176
8.5.2 Session管理及Cookie应用 177

第9章 基于HTTP的功能追加协议 179
9.1 基于HTTP的协议180
9.2 消除HTTP瓶颈的SPDY 180
9.2.1 HTTP的瓶颈 180
9.2.2 SPDY的设计与功能 184
9.2.3 SPDY消除Web瓶颈了吗 185
9.3 使用浏览器进行全双工通信的WebSocket 186
9.3.1 WebSocket的设计与功能 186
9.3.2 WebSocket协议 186
9.4 期盼已久的HTTP/2.0 189
9.5 Web服务器管理文件的WebDAV 190
9.5.1 扩展HTTP/1.1的WebDAV 191
9.5.2 WebDAV内新增的方法及状态码 192

第 10章 构建Web内容的技术 195
10.1 HTML 196
10.1.1 Web页面几乎全由HTML构建 196
10.1.2 HTML的版本 197
10.1.3 设计应用CSS 198
10.2 动态HTML 198
10.2.1 让Web页面动起来的动态HTML 198
10.2.2 更易控制HTML的DOM 198
10.3 Web应用 200
10.3.1  通过Web提供功能的Web应用 200
10.3.2 与Web服务器及程序协作的CGI 200
10.3.3 因Java而普及的Servlet 201
10.4 数据发布的格式及语言 203
10.4.1 可扩展标记语言 203
10.4.2 发布更新信息的RSS/Atom 204
10.4.3 衍生的轻量级易用JSON 206

第 11章 Web的攻击技术 207
11.1 针对Web的攻击技术 208
11.1.1 HTTP不具备必要的安全功能 208
11.1.2 在客户端即可篡改请求 209
11.1.3 针对Web应用的攻击模式 210
11.2 因输出值转义不完全引发的安全漏洞 212
11.2.1 跨站脚本攻击 213
11.2.2 SQL注入攻击 218
11.2.3 OS命令注入攻击 223
11.2.4 HTTP首部注入攻击 225
11.2.5 邮件首部注入攻击 228
11.2.6 目录遍历攻击 229
11.2.7 远程文件包含漏洞 230
11.3 因设置或设计上的缺陷引发的安全漏洞 232
11.3.1 强制浏览 232
11.3.2 不正确的错误消息处理 234
11.3.3 开放重定向 237
11.4 因会话管理疏忽引发的安全漏洞 237
11.4.1 会话劫持 238
11.4.2 会话固定攻击 239
11.4.3 跨站点请求伪造 241
11.5 其他安全漏洞 242
11.5.1 密码破解 242
11.5.2 点击劫持 247
11.5.3 DoS攻击 249
11.5.4 后门程序 250



📑 章节目录

  1. 了解Web及网络基础
  2. 简单的HTTP协议
  3. HTTP报文内的HTTP信息
  4. 返回结果的HTTP状态码
  5. 与HTTP协作的Web服务器
  6. HTTP首部
  7. 确保Web安全的HTTPS
  8. 确认访问用户身份的认证
  9. 基于HTTP的功能追加协议
  10. 构建Web内容的技术
  11. Web的攻击技术
  12. HTTP的未来与展望