auto commit
This commit is contained in:
parent
084d7b4c7e
commit
9368063a3d
|
@ -1,4 +1,5 @@
|
||||||
<!-- GFM-TOC -->
|
<!-- GFM-TOC -->
|
||||||
|
* [学习资源](#学习资源)
|
||||||
* [基础概念](#基础概念)
|
* [基础概念](#基础概念)
|
||||||
* [Web 基础](#web-基础)
|
* [Web 基础](#web-基础)
|
||||||
* [URL](#url)
|
* [URL](#url)
|
||||||
|
@ -8,10 +9,11 @@
|
||||||
* [POST:传输实体主体](#post传输实体主体)
|
* [POST:传输实体主体](#post传输实体主体)
|
||||||
* [HEAD:获取报文首部](#head获取报文首部)
|
* [HEAD:获取报文首部](#head获取报文首部)
|
||||||
* [PUT:上传文件](#put上传文件)
|
* [PUT:上传文件](#put上传文件)
|
||||||
|
* [PATCH:对资源进行部分修改](#patch对资源进行部分修改)
|
||||||
* [DELETE:删除文件](#delete删除文件)
|
* [DELETE:删除文件](#delete删除文件)
|
||||||
* [OPTIONS:查询支持的方法](#options查询支持的方法)
|
* [OPTIONS:查询支持的方法](#options查询支持的方法)
|
||||||
* [TRACE:追踪路径](#trace追踪路径)
|
|
||||||
* [CONNECT:要求用隧道协议连接代理](#connect要求用隧道协议连接代理)
|
* [CONNECT:要求用隧道协议连接代理](#connect要求用隧道协议连接代理)
|
||||||
|
* [TRACE:追踪路径](#trace追踪路径)
|
||||||
* [HTTP 状态码](#http-状态码)
|
* [HTTP 状态码](#http-状态码)
|
||||||
* [2XX 成功](#2xx-成功)
|
* [2XX 成功](#2xx-成功)
|
||||||
* [3XX 重定向](#3xx-重定向)
|
* [3XX 重定向](#3xx-重定向)
|
||||||
|
@ -43,6 +45,11 @@
|
||||||
<!-- GFM-TOC -->
|
<!-- GFM-TOC -->
|
||||||
|
|
||||||
|
|
||||||
|
# 学习资源
|
||||||
|
|
||||||
|
- [图解 HTTP](https://pan.baidu.com/s/1M0AHXqG9sP9Bxne6u0JK8A)
|
||||||
|
- [MDN : HTTP](https://developer.mozilla.org/en-US/docs/Web/HTTP)
|
||||||
|
|
||||||
# 基础概念
|
# 基础概念
|
||||||
|
|
||||||
## Web 基础
|
## Web 基础
|
||||||
|
@ -86,13 +93,14 @@ GET 和 POST 的请求都能使用额外的参数,但是 GET 的参数是以
|
||||||
```
|
```
|
||||||
GET /test/demo_form.asp?name1=value1&name2=value2 HTTP/1.1
|
GET /test/demo_form.asp?name1=value1&name2=value2 HTTP/1.1
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
POST /test/demo_form.asp HTTP/1.1
|
POST /test/demo_form.asp HTTP/1.1
|
||||||
Host: w3schools.com
|
Host: w3schools.com
|
||||||
name1=value1&name2=value2
|
name1=value1&name2=value2
|
||||||
```
|
```
|
||||||
|
|
||||||
GET 的传参方式相比于 POST 安全性较差,因为 GET 传的参数在 URL 是可见的,可能会泄露私密信息。并且 GET 只支持 ASCII 字符,如果参数为中文则可能会出现乱码,而 POST 支持标准字符集。
|
GET 的传参方式相比于 POST 安全性较差,因为 GET 传的参数在 URL 中是可见的,可能会泄露私密信息。并且 GET 只支持 ASCII 字符,如果参数为中文则可能会出现乱码,而 POST 支持标准字符集。
|
||||||
|
|
||||||
## HEAD:获取报文首部
|
## HEAD:获取报文首部
|
||||||
|
|
||||||
|
@ -102,33 +110,66 @@ GET 的传参方式相比于 POST 安全性较差,因为 GET 传的参数在 U
|
||||||
|
|
||||||
## PUT:上传文件
|
## PUT:上传文件
|
||||||
|
|
||||||
由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般 WEB 网站不使用该方法。
|
由于自身不带验证机制,任何人都可以上传文件,因此存在安全性问题,一般不使用该方法。
|
||||||
|
|
||||||
|
```html
|
||||||
|
PUT /new.html HTTP/1.1
|
||||||
|
Host: example.com
|
||||||
|
Content-type: text/html
|
||||||
|
Content-length: 16
|
||||||
|
|
||||||
|
<p>New File</p>
|
||||||
|
```
|
||||||
|
|
||||||
|
## PATCH:对资源进行部分修改
|
||||||
|
|
||||||
|
PUT 也可以用于修改资源,但是只能完全替代原始资源,PATCH 允许部分修改。
|
||||||
|
|
||||||
|
```html
|
||||||
|
PATCH /file.txt HTTP/1.1
|
||||||
|
Host: www.example.com
|
||||||
|
Content-Type: application/example
|
||||||
|
If-Match: "e0023aa4e"
|
||||||
|
Content-Length: 100
|
||||||
|
|
||||||
|
[description of changes]
|
||||||
|
```
|
||||||
|
|
||||||
## DELETE:删除文件
|
## DELETE:删除文件
|
||||||
|
|
||||||
与 PUT 功能相反,并且同样不带验证机制。
|
与 PUT 功能相反,并且同样不带验证机制。
|
||||||
|
|
||||||
|
```html
|
||||||
|
DELETE /file.html HTTP/1.1
|
||||||
|
```
|
||||||
|
|
||||||
## OPTIONS:查询支持的方法
|
## OPTIONS:查询支持的方法
|
||||||
|
|
||||||
查询指定的 URL 能够支持的方法。
|
查询指定的 URL 能够支持的方法。
|
||||||
|
|
||||||
会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容。
|
会返回 Allow: GET, POST, HEAD, OPTIONS 这样的内容。
|
||||||
|
|
||||||
|
## CONNECT:要求用隧道协议连接代理
|
||||||
|
|
||||||
|
要求在于代理服务器通信时建立隧道,使用 SSL(Secure Sokets Layer,安全套接字)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。
|
||||||
|
|
||||||
|
```html
|
||||||
|
CONNECT www.example.com:443 HTTP/1.1
|
||||||
|
```
|
||||||
|
|
||||||
|
<div align="center"> <img src="../pics//5994928c-3d2d-45bd-abb1-adc4f5f4d775.jpg"/> </div><br>
|
||||||
|
|
||||||
## TRACE:追踪路径
|
## TRACE:追踪路径
|
||||||
|
|
||||||
服务器会将通信路径返回给客户端。
|
服务器会将通信路径返回给客户端。
|
||||||
|
|
||||||
发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器就会减 1,当数值为 0 时就停止传输。
|
发送请求时,在 Max-Forwards 首部字段中填入数值,每经过一个服务器就会减 1,当数值为 0 时就停止传输。
|
||||||
|
|
||||||
TRACE 一般不会使用,并且它容易受到 XST 攻击(Cross-Site Tracing,跨站追踪),因此更不会去使用它。
|
通常不会使用 TRACE,并且它容易受到 XST 攻击(Cross-Site Tracing,跨站追踪),因此更不会去使用它。
|
||||||
|
|
||||||
<div align="center"> <img src="../pics//c8637fd2-3aaa-46c4-b7d9-f24d3fa04781.jpg"/> </div><br>
|
<div align="center"> <img src="../pics//c8637fd2-3aaa-46c4-b7d9-f24d3fa04781.jpg"/> </div><br>
|
||||||
|
|
||||||
## CONNECT:要求用隧道协议连接代理
|
|
||||||
|
|
||||||
主要使用 SSL(Secure Sokets Layer,安全套接字)和 TLS(Transport Layer Security,传输层安全)协议把通信内容加密后经网络隧道传输。
|
|
||||||
|
|
||||||
<div align="center"> <img src="../pics//5994928c-3d2d-45bd-abb1-adc4f5f4d775.jpg"/> </div><br>
|
|
||||||
|
|
||||||
# HTTP 状态码
|
# HTTP 状态码
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user