auto commit

This commit is contained in:
CyC2018
2020-11-18 03:00:45 +08:00
parent 236b85af83
commit 7899f565d3
41 changed files with 572 additions and 4565 deletions

View File

@ -2,14 +2,58 @@
<!-- GFM-TOC -->
* [HTTP](#http)
* [ 基础概念](#-基础概念)
* [请求和响应报文](#请求和响应报文)
* [URL](#url)
* [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)
* [参考资料](#参考资料)
<!-- GFM-TOC -->
@ -95,13 +139,13 @@ http 使用 URL **U** niform **R**esource **L**ocator统一资源定位符
### GET
\> 获取资源
> 获取资源
当前网络请求中绝大部分使用的是 GET 方法
### HEAD
\> 获取报文首部
> 获取报文首部
GET 方法类似但是不返回报文实体主体部分
@ -109,7 +153,7 @@ http 使用 URL **U** niform **R**esource **L**ocator统一资源定位符
### POST
\> 传输实体主体
> 传输实体主体
POST 主要用来传输数据 GET 主要用来获取资源
@ -117,7 +161,7 @@ POST 主要用来传输数据,而 GET 主要用来获取资源。
### PUT
\> 上传文件
> 上传文件
由于自身不带验证机制任何人都可以上传文件因此存在安全性问题一般不使用该方法
@ -132,7 +176,7 @@ Content-length: 16
### PATCH
\> 对资源进行部分修改
> 对资源进行部分修改
PUT 也可以用于修改资源但是只能完全替代原始资源PATCH 允许部分修改
@ -148,7 +192,7 @@ Content-Length: 100
### DELETE
\> 删除文件
> 删除文件
PUT 功能相反并且同样不带验证机制
@ -158,7 +202,7 @@ DELETE /file.html HTTP/1.1
### OPTIONS
\> 查询支持的方法
> 查询支持的方法
查询指定的 URL 能够支持的方法
@ -166,7 +210,7 @@ DELETE /file.html HTTP/1.1
### CONNECT
\> 要求在与代理服务器通信时建立隧道
> 要求在与代理服务器通信时建立隧道
使用 SSLSecure Sockets Layer安全套接层 TLSTransport Layer Security传输层安全协议把通信内容加密后经网络隧道传输
@ -178,7 +222,7 @@ CONNECT www.example.com:443 HTTP/1.1
### TRACE
\> 追踪路径
> 追踪路径
服务器会将通信路径返回给客户端
@ -863,7 +907,7 @@ DELETE /idX/delete HTTP/1.1 -> Returns 404
为了阐述 POST GET 的另一个区别需要先了解 XMLHttpRequest
\> XMLHttpRequest 是一个 API它为客户端提供了在客户端和服务器之间传输数据的功能它提供了一个通过 URL 来获取数据的简单方式并且不会使整个页面刷新这使得网页只更新一部分页面而不会打扰到用户XMLHttpRequest AJAX 中被大量使用
> XMLHttpRequest 是一个 API它为客户端提供了在客户端和服务器之间传输数据的功能它提供了一个通过 URL 来获取数据的简单方式并且不会使整个页面刷新这使得网页只更新一部分页面而不会打扰到用户XMLHttpRequest AJAX 中被大量使用
- 在使用 XMLHttpRequest POST 方法时浏览器会先发送 Header 再发送 Data但并不是所有浏览器会这么做例如火狐就不会
- GET 方法 Header Data 会一起发送