一、HTTP 1.0
定义了三种请求方法:GET、POST 和 HEAD。
1、GET:
获取服务端的资源,入参从URL中的querystring传入,URL长度不能超过2048字节。通常GET请求时会产生一个TCP数据包,请求头Header和querystring一起发送,服务端成功响应后返回200状态码;
2、POST:
更新服务端的资源,入参从Request Body中传入。通常POST请求时会产生两个TCP数据包,部分浏览器会只发一个TCP数据包。请求时,先发送请求头Header数据包,服务端返回100状态码之后,再发送请求体Body数据包,服务端成功响应后才返回200状态码。相比PUT请求来说,POST请求不会把之前的资源覆盖掉,所以POST请求用来向服务端新增资源;
3、HEAD:
获取服务端返回资源时的头部Header信息,但不返回Response资源信息;
二、HTTP 1.1
新增了六种请求方法:PUT、DELETE、TRACE、OPTIONS、PATCH和CONNECT。
1、PUT:
更新服务端的资源,相比POST请求来说,PUT请求会把之前的资源覆盖掉,所以PUT请求用来向服务端修改资源;
2、DELETE:
删除服务端的资源,需要注意的是,无法保证删除操作一定执行,因为HTTP规范允许服务端在不通知客户端的情况下撤销请求;
3、TRACE:
获取服务端收到的请求,可以查看HTTP请求数据在发送过程中是否被修改过,主要用于测试或诊断;
4、OPTIONS:
获取服务端所支持的选项/参数,常用于发送其他请求的前的预检,在跨域请求的非简单请求时会预先发OPTIONS请求预检;
5、PATCH:
指明如何更新服务端的资源,相比POST和PUT请求,PATCH请求重点在“如何”二字上,更关心的是add,remove还是replace;
6、CONNECT:
连接代理服务器的请求方法;