欢迎来到天天文库
浏览记录
ID:15997424
大小:50.00 KB
页数:15页
时间:2018-08-07
《超文本传输协议 -- http1.1(rfc 2616中文版) 下》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、超文本传输协议--HTTP1.1(RFC2616中文版)下超文本传输协议--HTTP/1.1(RFC2616中文版)下14.21ExpiresExpires实体头域(entity-header)给出了在何日何时之后响应即被视为陈旧的。一个陈旧的缓存项不能被缓存(一个代理缓存或一个用户代理的缓存)返回给客户端,除非此缓存项被源服务器验证(或者被一个拥有实体的保鲜副本的中间缓存)。见13.2节关于过期模型的进一步的讨论。Expires头域的出现并不意味着源资源(译注:存放于源服务器的资源)在Expire指定时间
2、时、之前或之后将会改变或将会不存在。Expires头域里日期格式是绝对日期(absolutedate)和时间,由3.3.1节中HTTP-date定义;它必须是RFC1123里的日期格式:Expires="Expires"":"HTTP-date使用示例为:Expires:Thu,01Dec199416:00:00GMT注:若响应包含一个Cache-Control头域,并且含有max-age缓存控制指令(参见14.9.3节),则此指令覆盖Expires头域。HTTP/1.1客户端和缓存必须把其他无效的日期格式
3、,特别是包含“0”的日期格式看成是过去的时间(也就是说,“已经过期”)。为了将响应标为“已经过期”,源服务器必须把Expires头域里的日期设为与Date头域值相等。(参见13.2.4节里关于过期计算的规则。)为标记响应为“永不过期”,源服务器必须把Expires头域里的日期设为晚于响应发送时间一年左右。HTTP/1.1服务器不应发送超过将来一年的过期日期。对于缺省不可被缓存的响应而言,除非被Cache-Control头域(见14.9节)指明,否则如果Expires头域里日期值为响应将来的时间,那么就表明此
4、响应是可缓存的。14.22FromFrom请求报头域,如果有的话,应该包含用户代理当前操作用户的email地址。这个地址应该是机器可用的地址,这被RFC822[9]里的“mailbox”定义同时也在RFC1123[8]里修订了:From="From"":"mailbox例如:From:webmaster@w3.org头域可以被用于记录日志和作为识别无效或多余请求的资源。他不应该用作不安全形式的访问保护。这个头域的解释是:请求是代表所指定的人执行的,此人应该承担这个方法执行的责任。特别的,机器人代理程序应该包
5、含这个头域,这样此人应该对运行此机器人代理程序负责,并且应该能被联系上如果在接收端出现问题的话。此头域里的网络email地址是可以和发出请求的网络主机(host)分离的。例如,当一个请求通过一个代理(proxy)时,初始请求发送者的地址应该被使用。客户端在没有用户的允许是不应该发出From头域的,因为它可能和用户的个人利益或者他们站点的安全政策相冲突。强烈建议在任何一次请求之前用户能取消,授权,和修改这个头域的值。14.23HostHost请求头域说明了正在请求资源的网络主机和端口号,这可以从源URI或引用
6、资源(通常是一个HTTPURL,这在3.3.3节里描述)。Host头域值必须代表源服务器或网关(被源URL指定)的命名授权(namingauthority)。这允许源服务器或网关去区分有内在歧义的URLS,例如,拥有一个IP地址的服务器,它的根“/”URL对应有多个主机名。Host="Host"":"host[":"port];3.2.2节一个“host”如果没有跟随的端口信息,那么就采用是请求服务的的默认端口(例如,对一个HTTPURL来说,就是80端口)。例如,一个对源服务器http://www.w3.
7、org/pub/WWW/的请求,可以用下面来表示:GET/pub/WWW/HTTP/1.1Host:www.w3.org一个客户端必须在所有HTTP/1.1请求消息里包含一个Host头域。如果请求URI没有包含请求服务的网络主机名,那么Host头域必须给一个空值。一个HTTP/1.1代理必须确保任何它转发的请求消息里必须包含一个合适的Host头域,此头域指定了代理请求的服务地址。所有基于网络的HTTP/1.1服务器必须响应400(坏请求)状态码,如果请求消息里缺少Host头域。见5.2和19.6.1.1节里
8、有针对Host头域的其他要求。14.24If-MatchIf-Match请求头域是用来让方法成为条件方法。如果一个客户端已经从一个资源里获得一个或多个实体(entity),那么他可以通过在If-Match头域里包含相应的实体标签(entitytag)来验证这些实体的一个或多个是否就是服务器当前实体。实体标签(entitytag)在3.11节里定义。这个特性使更新缓存信息只需要一个很小的事务开销。它照样被用于防止通
此文档下载收益归作者所有