auto commit
This commit is contained in:
@ -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
|
||||
|
||||
\> 要求在与代理服务器通信时建立隧道
|
||||
> 要求在与代理服务器通信时建立隧道
|
||||
|
||||
使用 SSL(Secure Sockets Layer,安全套接层)和 TLS(Transport 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 会一起发送。
|
||||
|
Reference in New Issue
Block a user