auto commit

This commit is contained in:
CyC2018 2018-03-14 10:56:07 +08:00
parent 084d7b4c7e
commit 9368063a3d

View File

@ -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要求用隧道协议连接代理
要求在于代理服务器通信时建立隧道,使用 SSLSecure Sokets Layer安全套接字和 TLSTransport 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要求用隧道协议连接代理
主要使用 SSLSecure Sokets Layer安全套接字和 TLSTransport Layer Security传输层安全协议把通信内容加密后经网络隧道传输。
<div align="center"> <img src="../pics//5994928c-3d2d-45bd-abb1-adc4f5f4d775.jpg"/> </div><br>
# HTTP 状态码 # HTTP 状态码