Web缓存和条件get方法

Web缓存

Web缓存器也叫代理服务器,有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本。可以配置用户的浏览器,使得用户的所有HTTP请求首先被定向到该Web缓存器。被配置的用户浏览器请求对象时,会发生以下情况:

1.浏览器创建一个到Web缓存器的TCP连接,并向Web缓存器中的对象发送一个HTTP请求

2.Web缓存器进行检查,看看本地是否存储了该对象副本。如果有,Web缓存器就向客户浏览器用HTTP响应报文返回该对象

3.如果Web缓存器中没有该对象,就打开一个与该对象的初始服务器的TCP连接。Web缓存器则在这个缓存器到服务器的TCP连接上发送该对象的HTTP请求,在收到请求后,初始服务器向该Web缓存器发送具有该对象HTTP响应

4.当Web缓存器收到该对象时,在本地存储空间存储一份副本,并向客户的浏览器用HTTP响应报文发送该副本

使用web缓存器能够降低机构接入链路上的流量强度,可在不提高接入链路速率的前提下,降低机构局域网内用户请求资源的响应时间

条件GET方法

尽管高速缓存能减少用户感受到的响应时间,但由于放在web缓存器中的副本可能是旧的版本,HTTP协议提供一种条件GET方法,允许缓存器证实它的对象是最新的。

条件GET方法:

  • 请求报文使用GET方法
  • 请求报文中包含一个“If-Modified-Since:”首部行

使用条件GET方法过程如下:

1.首先Web缓存器向某Web服务器发送请求报文

2.某Web服务器向该缓存器发送具有被请求对象的响应报文,其中含有”Last-Modified:“首部行,表示该对象最后被修改的时间

3.Web缓存器收到该响应报文后,将该对象转发给请求的浏览器的同时,也在本地缓存了该对象,在存储该对象的同时也储存了最后修改时间

4.下一次,比如一个星期后,当用户浏览器再次请求该对象时,Web缓存器向之前的Web服务器发送带有"If-Modified-Since:"首部行的GET方法请求报文,其中首部行的参数是前一次储存的最后修改时间

5.服务器收到Web缓存器的请求报文后,当且仅当对象在指定日期之后被修改过才发送该对象,若未修改过,则发送不含有对象的响应报文,状态行中为304 Not Modified告诉Web缓存器可以使用原来的对象

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值