`
workman93
  • 浏览: 56830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTTP协议(RFC2616)方法定义

    博客分类:
  • web
阅读更多

 OPTIONS

OPTIONS 方法表示在由 Request-URI 标识的请求/响应链上关于有效通迅选项信息的请
求。该方法允许客户端判断与某个资源相关的选项和/或需求或者服务器的能力,而不需要
采用资源行为或发起资源获取。
 
    该方法的响应不能缓存。
 
    如果OPTIONS请求包括实体(如由 Content-Length或 Transfer-Encoding的存在表示),
这时媒体类型必须通过 Content-Type 域表示。尽管本规范没有定义该实体的用法,将来的
HTTP 扩展可能使用 OPTIONS 消息体来更详细地查询服务器的信息。服务器不支持该扩展
可以丢弃该请求消息体。
 
    如果 Request-URI 是星号(“*”),OPTIONS 请求通常试图应用于服务器而不是特定的
资源。由于服务器的通迅选项一般由资源决定,所以“*”请求只作为“ping”或“no-op”
类型的方法有用;它没有任何作用,除了允许客户端测试服务器的能力。例如,可用来测试
HTTP/1.1 代理的一致性(或缺少因素)。
 
    如果 Request-URI不是星号,OPTIONS请求只应用于与该资源通迅时的有效选项。
 
     200 响应应该包括任何头部域来表示服务器实现和可应用到该资源的可选特性(如
Allow),可能包括该规范没有定义的扩展。如果有响应消息体,则应该还包括通迅选项的信
息。本规范没有定义该消息体的格式,但可能在将来扩展 HTTP时定义。内容协商可用于选
择适当的响应格式。如果不包括响应消息体,则响应必须包括域值为“0”的 Content-Length
域。
 
     Max-Forwards 请求头部域可能用于请求链中定位特定代理。当代理收到关于允许请求
转发的absoluteURI的OPTIONS请求时, 代理必须检查Max-Forwards域。 如果Max-Forwards
域值为0(“0” ),则代理不能转发该消息;取而代之,代理应该以它自己的通迅选项来响应。
如果 Max-Forwards 域值是大于 0 的整数,代理在转发该请求时必须将域值减一。如果请求
中不存在 Max-Forwards域,则转发的请求中不能包括Max-Forwards域。

GET

    GET 方法即获取由 Request-URI 标识的任何信息(以实体的形式)。如果 Request-URI
引用某个数据处理过程,则应该以它产生的数据作为在响应中的实体,而不是该过程的源代
码文本,除非该过程碰巧输出该文本。

    如果请求消息包括 If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match或
者If-Range头部域,则GET方法的语义变为“条件GET”。条件 GET方法请求只传输在条
件头部域描述情形下的实体。条件 GET 方法试图通过允许刷新缓存的实体而不需要多次请
求或传输客户端已经拥有的数据来减少非必要的网络使用。 
    如果请求消息包括 Range头部域,则 GET方法的语义变为“局部 GET”。局部 GET请
求只需传输实体的某部分。

HEAD

    除了服务器不能在响应中返回消息体,HEAD 方法与 GET 相同。HEAD 请求的响应中
的 HTTP 头部中包含的元信息应该与 GET 请求发送的响应中的信息相同。该方法可用来获
取请求暗示实体的元信息, 而不需要传输实体本身。 该方法常用来测试超文本链接的有效性、
可用性和最近的修改。
 
    当响应中包含的信息可用于更新先前从该资源缓存的实体时, HEAD 请求的响应可能是
可缓冲的。如果新的域值表明该缓冲的实体与当前实体不同(如可通过 Content-Length、
Content-MD5、ETag或Last-Modified的区别来表示),这时缓冲服务器必须将该缓存实体作
为过期的。

POST

     POST 方法用来请求原始服务器接受请求中封装的实体作为从属于请求行中的
Request-URI标识的副属。POST设计允许完成下列功能的统一方法:
 
     * 注解存在资源;
     * 上传消息到论坛、新闻组或相似的讨论组;
     * 向数据处理过程提供数据块,如递交表单的结果;
     * 通过追加操作来扩展数据库。
 
     POST 方法执行的实际功能由服务器决定,且通常取决于 Request-URI。上传的实体从
属于该URI,通过文件从属于包含它的目录,新的论文从属于它上传的新闻组,或记录从属
于数据库的方式。
 
     POST 方法执行的行为可能不导致通过 URI 能够标识的某个资源。在这种情况下,200
(OK)或 204(No Content)都是适合的响应状态。这取决于描述结果的响应是否包括实体。 
 
    如果原始服务器创建了资源,响应应该是 201(Created),且包含描述请求状态的实体,

和新资源的引用,和Location头部。

 
    该方法的响应不能缓存,除非响应包括适当的Cache-Control或 Expires头部域。然而,
303(See Other)响应能够用来引导用户代理获取可缓存的资源。

PUT

     PUT方法请求以提供的Request-URI存储封装的实体。如果 Request-URI引用已经存在
的资源,该封装实体应该被认作原始服务器存储的修改版本。如果 Request-URI没有指向已
存在的资源, 且该URI可以被请求的用户代理定义为新的资源, 则原始服务器可以用该 URI
创建资源。如果创建了新的资源,则原始服务器必须通过 201(Created)响应提示用户代理。
如果修改了已存在的资源,则应该发送200(OK)或 204(No Content)响应代码来表示成
功完成了请求。如果不能按 Request-URI创建或修改资源,则应该给出适当的错误响应以反
映出问题的性质。实体的接受方不能乎略任何不理解或没有实现的 Content-*(如
Content-Range)头部,在这种情况下必须返回 501(Not Implemented)响应。
 
    如果请求通过缓冲服务器且Request-URI标识出一个或多个缓冲的实体,则应该认为这
些实体过期了。该方法的响应不可缓存。
 
     POST和PUT请求间的基本区别反映在 Request-URI的不同意义。POST请求中 URI标
识的资源将处理封装的实体。该资源可能是数据接收过程、其它协议的网关或接受注解的独
立实体。与此对应,PUT请求中的URI标识请求封装的实体——用户代理知道该 URI是目
标且服务器不能试图将该请求应用到其它资源上。 如果服务器希望该请求应用到不同的 URI
上,则它必须发送301(Moved Permanently)请求;这时客户代理可以自己决定是否要重定
向该请求。
 
    可以用许多不同的 URI 标识同个资源。例如,一篇文章可以有标识为“当前版本”的
URI,它独立于标识每个特别版本的 URI。在这种情况下,使用通用 URI 的 PUT 请求可能
造成原始服务器定义的一些不同URI的结果。
 
     HTTP/1.1 没有定义PUT方法如何影响原始服务器的状态。 
 
    除了其它特殊实体头部的规定,PUT 请求中的实体头部应该应用到 PUT 创建或修改的
资源上。

DELETE

     DELETE 方法请求原始服务器删除Request-URI 标识的资源。原始服务器可在人为干涉

下(或其它意思)屏闭该方法。客户端不能确保该操作已经提交,即使原始服务器发出的状
态码表明动作已经成功完成也如此。然而,在给出响应的时候,服务器不应该表示成功,除
非它试图删除该资源或将它移动到不可访问的位置。
 
    如果响应包含描述状态的实体,成功响应应该是200(OK)。如果动作没有实施,则是
202(Accepted)。如果动作已经实施但响应不包含实体,则是 204(No Content)。
 
    如果请求通过缓冲服务器,且Request-URI标识一个或多个当前缓存的实体,则应该认
为这些实体已经过期。该方法的响应不可缓存。

TRACE

     TRACE 方法用于引起远程的,该请求消息的应用层回射。请求的最终接收者应该反射
200(OK)响应,并以该消息作为客户端回收消息的实体。最终接收者是原始服务器或第一
个收到请求中的Max-Forwards值为0(0)的代理或网关。TRACE 请求不能
包括实体。
 
     TRACE 允许客户端看见请求链上的另一端收到了什么,然后使用该数据作为测试或诊
断信息。Via 头部域的值有特殊作用,将它作为请求链路径。使用Max-Forwards
头部域允许客户端限制请求链的长度,这对于测试无限循环转发消息的代理链非常有用。
 
    如请求有效,则响应应该在实体中包含整个请求消息,设置 Content-Type 为
“message/http” 。该方法的响应不能缓存。

CONNECT

    规范保留 CONNECT 方法名。该方法用于代理,使之能够动态切换隧道(例如 SSL
隧道)。

 

分享到:
评论

相关推荐

    HTTP协议(RFC2616)中文版.pdf

    HTTP协议(RFC2616)中文版.pdf 超文本传输协议(HTTP)是一种为分布式,协作式的,超媒体信息系统。它是一种通用的,无 状态(stateless)的协议,除了应用于超文本传输外,它也可以应用于诸如名称服务器和分布 ...

    RFC中文文档-txt

    RFC2585 Internet X.509 公共键底部结构操作协议: FTP和HTTP RFC2597 确定的面向PHB组 RFC2598 面向加速PHB RFC2618 RADIUS 身份验证客户端管理系统库(MIB) RFC2629 用XML 写I-Ds 和 RFC文档 RFC2633 S/多用途网际...

    中文版RFC,共456

    RFC2585 Internet X.509 公共键底部结构操作协议: FTP和HTTP RFC2597 确定的面向PHB组 RFC2598 面向加速PHB RFC2618 RADIUS 身份验证客户端管理系统库(MIB) RFC2629 用XML 写I-Ds 和 RFC文档 RFC2633 S/多用途网际...

    TCP协议RFC793

    TCP - Transport Control Protocol,TCP协议RFC793

    RFC-2068(HTTP)

    HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet ...RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1

    rfc中文文档目录,包含部分翻译

    RFC948_IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949_FTP 未公开的独特命令 RFC951_引导协议(BOOTP) RFC955_朝向一个处理过程应用的传输服务 RFC962_TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974_邮件...

    中文RFC文档.zip

    RFC948 IP 数据包通过IEEE 802.3 网络传输的两种方法 RFC949 FTP 未公开的独特命令 RFC951 引导协议(BOOTP) RFC955 朝向一个处理过程应用的传输服务 RFC962 TCP-4 的最初 RFC968 “这是开动前的黑暗” RFC974 邮件...

    RFC2889协议中文版

    RFC2889是给局域网(LAN)交换设备提供...它将已在RFC 2544中定义的网络互连设备测试基准的方法扩展到局域网(LAN)交换设备的测试中来。为交换设备,转发性能,拥塞控制,时延地址处理和过滤提供了一个测试基准方法。

    HTTP协议超级详解.docx

    W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1。

    RFC标准-rfc1387--RIP(版本2)协议分析

    网络协议标准,仅供参考!!!!!!!!!!!!!!!!!!

    Http协议简介

    Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

    RFC1134_+PPP协议:关于在点到点链路上进行多协议包传送的建议 .doc

    点到点协议(the Point-to-Point Protocol)提供了一种在点到点链路上封装网络层协议信息的标准方法。PPP 也定义了可扩展的链路控制协议(Link Control Protocol),它(Link Control Protocol)使用验证协议磋商在...

    RFC1777_轻量级目录访问协议.doc

    RFC1777 轻量级目录访问协议 (RFC1777 Lightweight Directory Access Protocol) 本备忘录状态 This memo provides information for the Internet community. It does not specify an Internet standard of any ...

    HTTP协议详细介绍

    HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一...RFC 2616定义了HTTP协议的我们今天普遍使用的一个版本——HTTP 1.1。

    会议音频音量控制协议rfc6464

    本文档定义了一个RTP报头扩展[RFC5285],通过该扩展,音频包的发送者可以指示包的有效负载的音频级别,从而减少服务器的处理负载。

    SIP会话初始协议, 会话初始化协议(Session Initiation Protocol,. SIP,RFC 3261)是基于文本的信令协议,属性是SDP扩展的基本手段。可以定义为会话级属性或媒体级属性。。。。。

    SIP会话初始协议 会话初始化协议(Session Initiation Protocol,. SIP,RFC 3261)是基于文本的信令协议,属性是SDP扩展的基本手段。可以定义为会话级属性或媒体级属性。。。。。

    SIP协议文档RFC2543

    SIP协议的定义文档。 包含了SIP协议数据格式定义,状态定义等

    安全验证漏洞修复总结

    安全验证漏洞修复总结 `

    深入理解http协议

    HTTP 是 Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万 维网协会(World Wide Web Consortium)和 Internet 工作小组 IETF(Internet ...RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

Global site tag (gtag.js) - Google Analytics