类似推荐
编辑推荐
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 报文首部
HTTP 请求报文
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
表示是否能缓存的指令
控制可执行缓存的对象的指令
指定缓存期限和认证的指令
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.189 User-Agent
6.5 响应首部字段
6.5.1 Accept-Ranges
6.5.2 Age
6.5.3 ETag
强 ETag 值和弱 Tag 值
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 章 确认访问用户身份的认证
8.1 何为认证
8.2 BASIC 认证
BASIC 认证的认证步骤
8.3 DIGEST 认证
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.0
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 后门程序
图解HTTP是2014年由人民邮电出版社出版,作者[日]上野·宣。
得书感谢您对《图解HTTP》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。