HTTP 请求方法和应用场景

HTTP 请求方法

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

序号 方法 描述
1 GET 请求指定的页面信息,并返回实体主体。
2 HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。
5 DELETE 请求服务器删除指定的页面。
6 CONNECT HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。
9 PATCH 是对 PUT 方法的补充,用来对已知资源进行局部更新 。

应用场景

GET

基于“URL”地址问号传参;

一般用于向服务器获取资源,例如查询数据库的数据等;

成功返回200

POST

基于“请求”主体把消息发送给服务器;

一般用于请求新增或修改资源,例如提交表单,新增用户等;

先发送header,服务器响应100,再发送data,成功响应201

PUT

修改资源

DELETE

删除某个资源

OPTIONS

OPTIONS请求一般是客户端向服务端判断对某个资源是否有访问权限。

HEAD

HEAD请求一般是用来获取某个资源的metadata信息,比如说某份报告的关键描述信息等。

get和post的区别

get相对post是不安全的,因为get基于问号传参,数据请求被存放在URL中,而post是基于请求主体,操作对于用户是不可见的,相对比较安全

Get传送的数据量较小,主要是由于get基于URL进行传参,URL的长度受浏览器和服务器的限制(http协议本身是不限制URL长度的),post相对比较大,一般默认为不受限制

Get限制From表单的数据集的值必须为ASCLL字符,而Post支持整个ISO10646字符集

PUT和PATCH区别

PUT和PATCH都是用来修改服务端某个资源的,但是PUT和PATCH修改时提交的数据是不同的,PUT是将整个资源的信息都提交到服务端,包括修改的,未修改的都提交到服务端,而PATCH只提交已修改的字段到服务端。而服务端对PUT请求应该是整体替换,PATCH请求只修改提交的字段。所以PUT请求应该是幂等的,即多次提交同一个请求,结果是相同的

posted @ 2020-04-08 11:02  榆阳123  阅读(112)  评论(0)    收藏  举报