美文网首页安全点滴
HTTP协议详解3--请求方法

HTTP协议详解3--请求方法

作者: 四月不见 | 来源:发表于2019-01-13 18:05 被阅读0次

    一、简介

    请求的起始行以方法作为开始,方法用来告知服务器要做些什么。HTTP规范中定义了一组常用的请求方法。比如,GET方法负责从服务器获取一个资源,POST方法会向服务器发送需要处理的数据,OPTIONS方法用于确定Web服务器的一般功能,或者Web服务器处理特定资源的能力。

    如下描述了7种常用的HTTP方法。注意,德有些方法的请求报文中有主体,有些则是无主体的请求。

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

    二、方法详解

    1、GET
    GET是最常用的方法,通常用于请求服务器发送某个资源。

    示例:

    2、HEAD
    HEAD方法与GET方法的行为很类似,但服务器在响应中只返回首部,不会返回实体的主体部分。

    使用HEAD,可以:

    • 在不获取资源的情况下了解资源的情况(比如,判断其类型);
    • 通过查看响应中的状态码,看看某个对象是否存在;
    • 通过查看首部,测试资源是否被修改了。

    服务器开发者必须确保HEAD请求返回的首部与GET请求返回的首部完全相同。

    示例:

    3、POST
    POST方法用于向服务器发送数据。通常用于HTML表单中,将表单的的数据通过POST方法发送给服务器,然后由服务器将其发送到它要去的地方,然后对其进行处理。

    示例:

    4、PUT
    与GET从服务器读取文档相反,PUT方法会向服务器写入文档。有些发布系统允许用户创建Web页面,并用PUT直接将其安装到Web服务器上去,如:

    PUT方法的语义就是让服务器用请求的主体部分来创建一个由所请求的URL命名的新文档,或者,如果那个URL已经存在的话,就用这个主体来代替它。

    因为PUT允许用户对内容进行修改,所以很多Web服务器都要求在执行PUT之前,用密码登录。

    5、TRACE
    客户端发起一个请求时,这个请求可能要穿过防火墙、代理、网关或其它的一些应用程序。每个中间节点都可能会修改原始的HTPP请求。TRACE方法允许客户端在最终请求发送给服务器时看看它变成了什么样子。

    TRACE请求会在目的服务器端发起一个“环回”诊断。行程最后一站的服务器会弹回一条TRACE响应,并在响应主体中携带它收到的原始请求求文。这样客户端就可以查看在所有中间HTTP应用程序组成的请求/响应链上,原始报文是否,以及如何被毁坏或修改过。如:

    TRACE请求中不能带有实体的主体部分。TRACE响应的实体主体部分包含了响应服务器收到请求的精确副本。

    6、OPTIONS
    OPTIONS方法请求Web服务器告知其支持的各种功能。可以询问服务器通常支持哪些方法,或者对某些资源支持哪些方法。

    这为客户端应用程序提供了一种手段,使其不用实际访问那些资源就能判定访问各种资源的最优方式了。

    示例:

    7、DELETE
    DELETE方法用于请求服务器删除请求URL指定的资源。但是,客户端应用程序无法保证删除操作一定会被执行。因为HTTP规范允许服务器在不通知客户端的情况下撤回请求。

    示例:

    参考

    《HTTP权威指南》 David Gourley, Brian Totty, Marjorie Sayer, Sailu Reddy, Ansbu Aggarwal 著 陈涓 赵振平 译
    RFC:https://tools.ietf.org/html/rfc2616(查看第9章)
    W3C:https://www.w3.org/Protocols/rfc2616/rfc2616.html(查看第9章)

    相关文章

      网友评论

        本文标题:HTTP协议详解3--请求方法

        本文链接:https://www.haomeiwen.com/subject/oqhdrqtx.html