欢迎来到天天文库
浏览记录
ID:47105231
大小:29.50 KB
页数:6页
时间:2019-08-04
《HTTP协议(RFC2616)中的方法定义》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HTTP协议(RFC2616)中的方法定义OPTIONSOPTIONS方法表示在由Request-URI标识的请求/响应链上关于有效通迅选项信息的请求。该方法允许客户端判断与某个资源相关的选项和/或需求或者服务器的能力,而不需要采用资源行为或发起资源获取。该方法的响应不能缓存。如果OPTIONS请求包括实体(如由Content-Length或Transfer-Encoding的存在表示),这时媒体类型必须通过Content-Type域表示。尽管本规范没有定义该实体的用法,将来的HTTP扩展可能使用OPTIONS消息体来更详细地查询服务器的
2、信息。服务器不支持该扩展可以丢弃该请求消息体。如果Request-URI是星号(“*”),OPTIONS请求通常试图应用于服务器而不是特定的资源。由于服务器的通迅选项一般由资源决定,所以“*”请求只作为“ping”或“no-op”类型的方法有用;它没有任何作用,除了允许客户端测试服务器的能力。例如,可用来测试HTTP/1.1代理的一致性(或缺少因素)。如果Request-URI不是星号,OPTIONS请求只应用于与该资源通迅时的有效选项。200响应应该包括任何头部域来表示服务器实现和可应用到该资源的可选特性(如Allow),可能包括该规范
3、没有定义的扩展。如果有响应消息体,则应该还包括通迅选项的信息。本规范没有定义该消息体的格式,但可能在将来扩展HTTP时定义。内容协商可用于选择适当的响应格式。如果不包括响应消息体,则响应必须包括域值为“0”的Content-Length域。Max-Forwards请求头部域可能用于请求链中定位特定代理。当代理收到关于允许请求转发的absoluteURI的OPTIONS请求时,代理必须检查Max-Forwards域。如果Max-Forwards域值为0(“0”),则代理不能转发该消息;取而代之,代理应该以它自己的通迅选项来响应。如果Max-
4、Forwards域值是大于0的整数,代理在转发该请求时必须将域值减一。如果请求中不存在Max-Forwards域,则转发的请求中不能包括Max-Forwards域。GETGET方法即获取由Request-URI标识的任何信息(以实体的形式)。如果Request-URI引用某个数据处理过程,则应该以它产生的数据作为在响应中的实体,而不是该过程的源代码文本,除非该过程碰巧输出该文本。如果请求消息包括If-Modified-Since、If-Unmodified-Since、If-Match、If-None-Match或者If-Range头部域
5、,则GET方法的语义变为“条件GET”。条件GET方法请求只传输在条件头部域描述情形下的实体。条件GET方法试图通过允许刷新缓存的实体而不需要多次请求或传输客户端已经拥有的数据来减少非必要的网络使用。如果请求消息包括Range头部域,则GET方法的语义变为“局部GET”。局部GET请求只需传输实体的某部分。HEAD除了服务器不能在响应中返回消息体,HEAD方法与GET相同。HEAD请求的响应中的HTTP头部中包含的元信息应该与GET请求发送的响应中的信息相同。该方法可用来获取请求暗示实体的元信息,而不需要传输实体本身。该方法常用来测试超文
6、本链接的有效性、可用性和最近的修改。当响应中包含的信息可用于更新先前从该资源缓存的实体时,HEAD请求的响应可能是可缓冲的。如果新的域值表明该缓冲的实体与当前实体不同(如可通过Content-Length、Content-md5、ETag或Last-Modified的区别来表示),这时缓冲服务器必须将该缓存实体作为过期的。POSTPOST方法用来请求原始服务器接受请求中封装的实体作为从属于请求行中的Request-URI标识的副属。POST设计允许完成下列功能的统一方法:http://www.devdao.com/注解存在资源;上传消息到
7、论坛、新闻组或相似的讨论组;向数据处理过程提供数据块,如递交表单的结果;通过追加操作来扩展数据库。POST方法执行的实际功能由服务器决定,且通常取决于Request-URI。上传的实体从属于该URI,通过文件从属于包含它的目录,新的论文从属于它上传的新闻组,或记录从属于数据库的方式。POST方法执行的行为可能不导致通过URI能够标识的某个资源。在这种情况下,200(OK)或204(NoContent)都是适合的响应状态。这取决于描述结果的响应是否包括实体。如果原始服务器创建了资源,响应应该是201(Created),且包含描述请求状态的实
8、体,和新资源的引用,和Location头部。该方法的响应不能缓存,除非响应包括适当的Cache-Control或Expires头部域。然而,303(SeeOther)响应能够用来引导用户代理获
此文档下载收益归作者所有