图解 HTTP

🌙
手机阅读
本文目录结构

图解 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 后门程序

AXIHE / 精选教程

浏览全部教程

HTML

CSS

JS

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili 和抖音。

关注我: Github / 知乎

如果你加我的私人微信,麻烦写上您的 称呼,所在地区,职业,方便我备注,谢谢


本站的微信公众号

阿西河前端教程

Anbang

安邦的私人微信

微信号: yaolushan

Anbang

Bilibili(B站)

朱安邦

Anbang

抖音号

抖音号: axihe

Anbang