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

一、简介

请求的起始行以方法作为开始,方法用来告知服务器要做些什么。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章)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值