OPTIONS:返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。
HEAD:向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。
GET:向特定的资源发出请求。
POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。
PUT:向指定资源位置上传其最新内容。
DELETE:请求服务器删除Request-URI所标识的资源。
TRACE:回显服务器收到的请求,主要用于测试或诊断。
CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
我们平时用get和post类型就满足需求了,为什么还要用其他类型呢?
1、这个主要还是resultful api风格的规定,这样对外提供的接口统一清晰。
2、其次我们在服务端代码规定了哪个接口的具体请求类型,这样只有规定的请求类型才能进入方法体,然后如果运维在防火墙中添加指定的请求策略(比如策略规定只允许post请求,那么如果我们的接口都用post这种请求类型时就没办法区分了)。
3、每种请求类型自身的不同,比如get请求可被缓存,,请求可保留在浏览器历史记录中,而post请求则不可以。head请求只响应请求头可以满足特定场景的需求等。
4、从安全的角度考虑,比如我们把删除操作写成一个get请求,那么不小心点击了这个链接就删除了一条数据,想想就恐怖。