图解 HTTP

2025-11-06 15:42:50

本文目录结构

编辑推荐

内容简介

作者简介

目录

第 1 章 了解 Web 及网络基础

第 2 章 简单的 HTTP 协议

第 3 章 HTTP 报文内的 HTTP 信息

第 4 章 返回结果的 HTTP 状态码

第 5 章 与 HTTP 协作的 Web 服务器

第 6 章 HTTP 首部

第 7 章 确保 Web 安全的 HTTPS

第 8 章 确认访问用户身份的认证

第 9 章 基于 HTTP 的功能追加协议

第 10 章 构建 Web 内容的技术

第 11 章 Web 的攻击技术

图解 HTTP

编辑推荐

172 张图解轻松入门;

从基础知识到全新动向,一本书掌握 HTTP 协议;

Web 前端开发者必备,从基础知识到全新动向一网打尽。

内容简介

《图灵程序设计丛书:图解 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 日文版的审校工作。

于均良(译者),上海交通大学硕士,高级软件工程师,马拉松跑者,四点网创始人。

目录

第 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-MD

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 章 确认访问用户身份的认证

8.1 何为认证

8.2 BASIC 认证

8.3 DIGEST 认证

8.4 SSL 客户端认证

8.4.1 SSL 客户端认证的认证步骤

8.4.2 SSL 客户端认证采用双因素认证

8.4.3 SSL 客户端认证必要的费用

8.5 基于表单认证

8.5.1 认证多半为基于表单认证

8.5.2 Session 管理及 Cookie 应用

第 9 章 基于 HTTP 的功能追加协议

9.1 基于 HTTP 的协议

9.2 消除 HTTP 瓶颈的 SPDY

9.2.1 HTTP 的瓶颈

9.2.2 SPDY 的设计与功能

9.2.3 SPDY 消除 Web 瓶颈了吗

9.3 使用浏览器进行全双工通信的 WebSocket

9.3.1 WebSocket 的设计与功能

9.3.2 WebSocket 协议

9.4 期盼已久的 HTTP/2.

9.5 Web 服务器管理文件的 WebDAV

9.5.1 扩展 HTTP/1.1 的 WebDAV

9.5.2 WebDAV 内新增的方法及状态码

第 10 章 构建 Web 内容的技术

10.1 HTML

10.1.1 Web 页面几乎全由 HTML 构建

10.1.2 HTML 的版本

10.1.3 设计应用 CSS

10.2 动态 HTML

10.2.1 让 Web 页面动起来的动态 HTML

10.2.2 更易控制 HTML 的 DOM

10.3 Web 应用

10.3.1 通过 Web 提供功能的 Web 应用

10.3.2 与 Web 服务器及程序协作的 CGI

10.3.3 因 Java 而普及的 Servlet

10.4 数据发布的格式及语言

10.4.1 可扩展标记语言

10.4.2 发布更新信息的 RSS/Atom

10.4.3 JavaScript 衍生的轻量级易用 JSON

第 11 章 Web 的攻击技术

11.1 针对 Web 的攻击技术

11.1.1 HTTP 不具备必要的安全功能

11.1.2 在客户端即可篡改请求

11.1.3 针对 Web 应用的攻击模式

11.2 因输出值转义不完全引发的安全漏洞

11.2.1 跨站脚本攻击

11.2.2 SQL 注入攻击

11.2.3 OS 命令注入攻击

11.2.4 HTTP 首部注入攻击

11.2.5 邮件首部注入攻击

11.2.6 目录遍历攻击

11.2.7 远程文件包含漏洞

11.3 因设置或设计上的缺陷引发的安全漏洞

11.3.1 强制浏览

11.3.2 不正确的错误消息处理

11.3.3 开放重定向

11.4 因会话管理疏忽引发的安全漏洞

11.4.1 会话劫持

11.4.2 会话固定攻击

11.4.3 跨站点请求伪造

11.5 其他安全漏洞

11.5.1 密码破解

11.5.2 点击劫持

11.5.3 DoS 攻击

11.5.4 后门程序