![]()
内容推荐 本书对互联网基盘——HTTP协议进行了全面系统的介绍。作者由HTTP协议的发展历史娓娓道来,严谨细致地剖析了HTTP协议的结构,列举诸多常见通信场景及实战案例,最后延伸到Web安全、最新技术动向等方面。本书的特色为在讲解的同时,辅以大量生动形象的通信图例,更好地帮助读者深刻理解HTTP通信过程中客户端与服务器之间的交互情况。读者可通过本书快速了解并掌握HTTP协议的基础,前端工程师分析抓包数据,后端工程师实现REST API、实现自己的HTTP服务器等过程中所需的HTTP相关知识点本书均有介绍。 本书适合Web开发工程师,以及对HTTP协议感兴趣的各层次读者。 作者简介 上野宣,OWASP日本分会会长,TRICORDER株式会社董事长。 主要从事安全咨询、风险评估、信息安全教育等工作。著有《今晚我们一起学习邮件协议》(今夜わかるメールプロトコル)、《今晚我们一起学习TCP/IP》(今夜わかるTCP/IP)、《今晚我们一起学习HTTP》(今夜わかるHTTP)。担任The Tangled Web: A Guide to Securing Modern Web Application日文版的审校工作。 目录 第1章 了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.2.1 为知识共享而规划Web 1.2.2 Web成长时代 1.2.3 驻足不前的HTTP 1.3 网络基础TCP/IP 1.3.1 TCP/IP协议族 1.3.2 TCP/IP的分层管理 1.3.3 TCP/IP通信传输流 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.4.1 负责传输的IP协议 1.4.2 确保可靠性的TCP协议 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 1.7.1 统一资源标识符 1.7.2 URI格式 第2章 简单的HTTP协议 2.1 HTTP协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI定位资源 2.5 告知服务器意图的HTTP方法 2.6 使用方法下达命令 2.7 持久连接节省通信量 2.7.1 持久连接 2.7.2 管线化 2.8 使用Cookie的状态管理 第3章 HTTP报文内的HTTP信息 3.1 HTTP报文 3.2 请求报文及响应报文的结构 3.3 编码提升传输速率 3.3.1 报文主体和实体主体的差异 3.3.2 压缩传输的内容编码 3.3.3 分割发送的分块传输编码 3.4 发送多种数据的多部分对象集合 3.5 获取部分内容的范围请求 3.6 内容协商返回**合适的内容 第4章 返回结果的HTTP状态码 4.1 状态码告知从服务器端返回的请求结果 4.2 2XX成功 4.2.1 200 OK 4.2.2 204 No Content 4.2.3 206 Partial Content 4.3 3XX重定向 4.3.1 301 Moved Permanently 4.3.2 302 Found 4.3.3 303 See Other 4.3.4 304 Not Modified 4.3.5 307 Temporary Redirect 4.4 4XX客户端错误 4.4.1 400 Bad Request 4.4.2 401 Unauthorized 4.4.3 403 Forbidden 4.4.4 404 Not Found 4.5 5XX服务器错误 4.5.1 500 Internal Server Error 4.5.2 503 Service Unavailable 第5章 与HTTP协作的Web服务器 5.1 用单台虚拟主机实现多个域名 5.2 通信数据转发程序:代理、网关、隧道 5.2.1 代理 5.2.2 网关 5.2.3 隧道 5.3 保存资源的缓存 5.3.1 缓存的有效期限 5.3.2 客户端的缓存 第6章 HTTP首部 6.1 HTTP报文首部 6.2 HTTP首部字段 6.2.1 HTTP首部字段传递重要信息 6.2.2 HTTP首部字段结构 6.2.3 4种HTTP首部字段类型 6.2.4 HTTP/1.1首部字段一览 6.2.5 非HTTP/1.1首部字段 6.2.6 End-to-end首部和Hop-by-hop首部 6.3 HTTP/1.1通用首部字段 6.3.1 Cache-Control 6.3.2 Connection 6.3.3 Date 6.3.4 Pragma 6.3.5 Trailer 6.3.6 Transfer-Encoding 6.3.7 Upgrade 6.3.8 Via 6.3.9 Warning 6.4 请求首部字段 6.4.1 Accept 6.4.2 Accept-Charset 6.4.3 Accept-Encoding 6.4.4 Accept-Language 6.4.5 Authorization 6.4.6 Expect 6.4.7 From 6.4.8 Host 6.4.9 If-Match 6.4.10 If-Modified-Since 6.4.11 If-None-Match 6.4.12 If-Range 6.4.13 If-Unmodified-Since 6.4.14 Max-Forwards 6.4.15 Proxy-Authorization 6.4.16 Range 6.4.17 Referer 6.4.18 TE 6.4.19 User-Agent 6.5 响应首部字段 6.5.1 Accept-Ranges 6.5.2 Age 6.5.3 ETag 6.5.4 Location 6.5.5 Proxy-Authenticate 6.5.6 Retry-After 6.5.7 Server 6.5.8 Vary 6.5.9 WWW-Authenticate 6.6 实体首部字段 6.6.1 Allow 6.6.2 Content-Encoding 6.6.3 Content-Language 6.6.4 Content-Length 6.6.5 Content-Location 6.6.6 Content-MD5 6.6.7 Content-Range 6.6.8 Content-Type 6.6.9 Expires 6.6.10 Last-Modified 6.7 为Cookie服务的首部字段 6.7.1 Set-Cookie 6.7.2 Cookie 6.8 其他首部字段 6.8.1 X-Frame-Options 6.8.2 X-XSS-Protection 6.8.3 DNT 6.8.4 P3P 第7章 确保Web安全的HTTPS 7.1 HTTP的缺点 7.1.1 通信使用明文可能会被窃听 7.1.2 不验证通信方的身份就可能遭遇伪装 7.1.3 无法证明报文完整性,可能已遭篡改 7.2 HTTP+加密+认证+完整性保护=HTTPS 7.2.1 HTTP加上加密处理和认证以及完整性保护后即是HTTPS 7.2.2 HTTPS是身披SSL外壳的HTTP 7.2.3 相互交换密钥的公开密钥加密技术 7.2.4 证明公开密钥正确性的证书 7.2.5 HTTPS的安全通信机制 第8章 确认访问用户身份的认证 |