HTTP请求方法

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

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

HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

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

HTTP协议中的OPTIONS方法是什么?
HTTP协议中的OPTIONS方法是什么
1 GET 2 HEAD 3 PUT 4 DELETE 5 POST 6 OPTIONS

大部分情况用到了GET和POST
想设计符合RESTful规范的web应用程序 则这六种方法都会用
1 GET
GET可以说是最常见的了 它本质就是发送一个请求来取得服务器上的某一资源
资源通过一组HTTP头和呈现数据(如HTML文本 或者图片或者视频等)返回给客户端
GET请求中 永远不会包含呈现数据

2 HEAD
HEAD和GET本质是一样的 区别在于HEAD不含有呈现数据 而仅仅是HTTP头信息
有的人可能觉得这个方法没什么用 其实不是这样的
想象一个业务情景
欲判断某个资源是否存在 我们通常使用GET 但这里用HEAD则意义更加明确

3 PUT
这个方法比较少见
HTML表单也不支持这个
本质上来讲  PUT和POST极为相似 都是向服务器发送数据 但它们之间有一个重要区别 PUT通常指定了资源的存放位置 而POST则没有 POST的数据存放位置由服务器自己决定
举个例子
如一个用于提交博文的URL /addBlog
如果用PUT 则提交的URL会是像这样的”/addBlog/abc123” 其中abc123就是这个博文的地址
而如果用POST 则这个地址会在提交后由服务器告知客户端
目前大部分博客都是这样的
显然 PUT和POST用途是不一样的
具体用哪个还取决于当前的业务场景

4 DELETE
删除某一个资源
基本上这个也很少见 不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源

5 POST
向服务器提交数据
这个方法用途广泛 几乎目前所有的提交操作都是靠这个完成

6 OPTIONS
这个方法很有趣 但极少使用
它用于获取当前URL所支持的方法
若请求成功 则它会在HTTP头中包含一个名为“Allow”的头 值是所支持的方法 如“GET, POST”


跟数据库的CRUD增删改查操作对应起来
CREATE :PUT
READ:GET
UPDATE:POST
DELETE:DELETE
实现HTTP和数据库操作统一 这也是REST的精髓之一