根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
-
GET
参数?拼接在url后面,多个参数对用&分隔。
如果参数值为中文,则转换为加密的16进制码。
向服务器获取数据,请求指定的页面信息,并返回实体主体。
url有长度限制,根据协议、浏览器有差异。
url完全暴露参数,没有安全性可言。 -
POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中。
POST 请求可能会导致新的资源的建立和/或已有资源的修改。
正文没有长度限制,表单所能处理的长度在100k。
相对安全,但是如果不使用https, 正文容易被人截取。 -
PUT
从客户端向服务器传送的数据取代指定的文档的内容。
与POST很像,也是向服务器提交数据,但是PUT指定了资源在服务器上的位置,POST没有。 -
PATCH
是对 PUT 方法的补充,用来对已知资源进行局部更新 。 -
DELETE
请求服务器删除指定的页面。 -
OPTIONS
允许客户端查看服务器的性能。
用于获取url所支持的方法。如果请求成功,会有一个allow的头包含类似“GET,POST”这样的信息。 -
HEAD
类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头。只请求页面的首部。 -
TRACE
回显服务器收到的请求,主要用于测试或诊断。
激发一个远程的、应用层的请求消息回路。 -
CONNECT
HTTP/1.1 协议中预留给能够将连接改为管道方式(TCP/IP)的代理服务器。