diff --git a/notes/HTTP.md b/notes/HTTP.md index 8501eff5..bd29a5a4 100644 --- a/notes/HTTP.md +++ b/notes/HTTP.md @@ -1,58 +1,87 @@ -* [一 、基础概念](#一-基础概念) - * [URI](#uri) - * [请求和响应报文](#请求和响应报文) -* [二、HTTP 方法](#二http-方法) - * [GET](#get) - * [HEAD](#head) - * [POST](#post) - * [PUT](#put) - * [PATCH](#patch) - * [DELETE](#delete) - * [OPTIONS](#options) - * [CONNECT](#connect) - * [TRACE](#trace) -* [三、HTTP 状态码](#三http-状态码) - * [1XX 信息](#1xx-信息) - * [2XX 成功](#2xx-成功) - * [3XX 重定向](#3xx-重定向) - * [4XX 客户端错误](#4xx-客户端错误) - * [5XX 服务器错误](#5xx-服务器错误) -* [四、HTTP 首部](#四http-首部) - * [通用首部字段](#通用首部字段) - * [请求首部字段](#请求首部字段) - * [响应首部字段](#响应首部字段) - * [实体首部字段](#实体首部字段) -* [五、具体应用](#五具体应用) - * [连接管理](#连接管理) - * [Cookie](#cookie) - * [缓存](#缓存) - * [内容协商](#内容协商) - * [内容编码](#内容编码) - * [范围请求](#范围请求) - * [分块传输编码](#分块传输编码) - * [多部分对象集合](#多部分对象集合) - * [虚拟主机](#虚拟主机) - * [通信数据转发](#通信数据转发) -* [六、HTTPS](#六https) - * [加密](#加密) - * [认证](#认证) - * [完整性保护](#完整性保护) - * [HTTPS 的缺点](#https-的缺点) -* [七、HTTP/2.0](#七http20) - * [HTTP/1.x 缺陷](#http1x-缺陷) - * [二进制分帧层](#二进制分帧层) - * [服务端推送](#服务端推送) - * [首部压缩](#首部压缩) -* [八、HTTP/1.1 新特性](#八http11-新特性) -* [九、GET 和 POST 比较](#九get-和-post-比较) - * [作用](#作用) - * [参数](#参数) - * [安全](#安全) - * [幂等性](#幂等性) - * [可缓存](#可缓存) - * [XMLHttpRequest](#xmlhttprequest) -* [参考资料](#参考资料) +- [一 、基础概念](#一-基础概念) + - [URI](#uri) + - [请求和响应报文](#请求和响应报文) + - [1. 请求报文](#1-请求报文) + - [2. 响应报文](#2-响应报文) +- [二、HTTP 方法](#二http-方法) + - [GET](#get) + - [HEAD](#head) + - [POST](#post) + - [PUT](#put) + - [PATCH](#patch) + - [DELETE](#delete) + - [OPTIONS](#options) + - [CONNECT](#connect) + - [TRACE](#trace) +- [三、HTTP 状态码](#三http-状态码) + - [1XX 信息](#1xx-信息) + - [2XX 成功](#2xx-成功) + - [3XX 重定向](#3xx-重定向) + - [4XX 客户端错误](#4xx-客户端错误) + - [5XX 服务器错误](#5xx-服务器错误) +- [四、HTTP 首部](#四http-首部) + - [通用首部字段](#通用首部字段) + - [请求首部字段](#请求首部字段) + - [响应首部字段](#响应首部字段) + - [实体首部字段](#实体首部字段) +- [五、具体应用](#五具体应用) + - [连接管理](#连接管理) + - [1. 短连接与长连接](#1-短连接与长连接) + - [2. 流水线](#2-流水线) + - [Cookie](#cookie) + - [1. 用途](#1-用途) + - [2. 创建过程](#2-创建过程) + - [3. 分类](#3-分类) + - [4. 作用域](#4-作用域) + - [5. JavaScript](#5-javascript) + - [6. HttpOnly](#6-httponly) + - [7. Secure](#7-secure) + - [8. Session](#8-session) + - [9. 浏览器禁用 Cookie](#9-浏览器禁用-cookie) + - [10. Cookie 与 Session 选择](#10-cookie-与-session-选择) + - [缓存](#缓存) + - [1. 优点](#1-优点) + - [2. 实现方法](#2-实现方法) + - [3. Cache-Control](#3-cache-control) + - [4. 缓存验证](#4-缓存验证) + - [内容协商](#内容协商) + - [1. 类型](#1-类型) + - [2. Vary](#2-vary) + - [内容编码](#内容编码) + - [范围请求](#范围请求) + - [1. Range](#1-range) + - [2. Accept-Ranges](#2-accept-ranges) + - [3. 响应状态码](#3-响应状态码) + - [分块传输编码](#分块传输编码) + - [多部分对象集合](#多部分对象集合) + - [虚拟主机](#虚拟主机) + - [通信数据转发](#通信数据转发) + - [1. 代理](#1-代理) + - [2. 网关](#2-网关) + - [3. 隧道](#3-隧道) +- [六、HTTPS](#六https) + - [加密](#加密) + - [1. 对称密钥加密](#1-对称密钥加密) + - [2.非对称密钥加密](#2非对称密钥加密) + - [3. HTTPS 采用的加密方式](#3-https-采用的加密方式) + - [认证](#认证) + - [完整性保护](#完整性保护) + - [HTTPS 的缺点](#https-的缺点) +- [七、HTTP/2.0](#七http20) + - [HTTP/1.x 缺陷](#http1x-缺陷) + - [二进制分帧层](#二进制分帧层) + - [服务端推送](#服务端推送) + - [首部压缩](#首部压缩) +- [八、HTTP/1.1 新特性](#八http11-新特性) +- [九、GET 和 POST 比较](#九get-和-post-比较) + - [作用](#作用) + - [参数](#参数) + - [安全](#安全) + - [幂等性](#幂等性) + - [可缓存](#可缓存) + - [XMLHttpRequest](#xmlhttprequest) +- [参考资料](#参考资料) @@ -223,6 +252,8 @@ CONNECT www.example.com:443 HTTP/1.1 - **500 Internal Server Error** :服务器正在执行请求时发生错误。 +- **502 Bad Gateway** : 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 + - **503 Service Unavailable** :服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。 # 四、HTTP 首部