zoukankan      html  css  js  c++  java
  • 常用的HTTP方法

    方法                 描述 是否包含主体
    GET  从服务器获得一份文档
    HEAD  只从服务器获得响应报文的首部
    POST  向服务器发送需要处理的数据
    PUT  将请求的主体部分存储在服务器上
    TRACE  对可能经过代理服务器传送到服务器上去的报文进行追踪
    OPTIONS  决定在服务器上可以执行哪些方法
    DELETE  从服务器上删除一份文档

        

    注意:并非所有的服务器都都实现了这几个方法。有的服务器还实现了自己特有的HTTP方法,称为扩展方法。

    GET:GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

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

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

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

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

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

    TRACE:请求服务器回送收到的请求信息,主要用于测试和诊断,所以是安全的。

    以上的七种方法,我们可以跟数据库的CRUD增删改查操作对应起来:

         CREATE :PUT
         READ:GET
         UPDATE:POST
         DELETE:DELETE

    HEAD、GET、OPTIONS和TRACE视为安全的方法,因为它们只是从服务器获得资源而不对服务器做任何修改;但是HEAD、GET、OPTIONS在用户端不安全,而POST则影响服务器上的资源。

    GET虽然不修改服务器数据,但是GET方法通过URL请求来传递用户的输入;HEAD只获得消息的头部,但是数据传入也是通过URL。这样对客户端而言并不安全。

    TRACE方法对于服务端和用户端一定是安全的

  • 相关阅读:
    《Ubuntu标准教程》学习总结
    Ubuntu下安装VirtualBox并为其添加USB支持
    Eclipse下配置TinyOS开发环境
    Ubuntu下的网络服务
    Ubuntu12.04添加环境变量
    Ubuntu12.04下搭建Java环境
    poj 1066 线段相交
    poj 2653 (线段相交判断)
    poj 2398 (叉积+二分)
    hdu 4883 思维题
  • 原文地址:https://www.cnblogs.com/cling-cling/p/4785635.html
Copyright © 2011-2022 走看看