web缓存(代理服务器)

来源:互联网 发布:知乎搞笑的事情 编辑:程序博客网 时间:2024/05/22 00:47

web缓存

一个web缓存又称为代理服务器,是一个网络实体,它有自己的磁盘存储,保存着最近请求的对象。
浏览器可以被配置为将请求第一次发到web缓存,下面是访问缓存的步骤(www.baidu.com):

  • 浏览器与web缓存建立一个TCP连接,将http请求报文发给web缓存
  • web缓存检查本地是否有请求对象的副本,如果有,就将它包含在http响应报文中发给浏览器
  • 如果web缓存中没有请求的对象,那么web缓存就与原始服务器(www.baidu.com)之间打开一个TCP连接,缓存向原始服务器发送http请求,原始服务器将请求内容放在http响应报文中,发给缓存
  • 当web缓存收到响应后,将它保存在本地存储中,并且向客户浏览器发送一个响应报文(通过之前建立的TCP连接)
    可以看出web缓存既是客户端又是服务器,一般web缓存是被ISP安装的,比如一所大学可能安装一台代理服务器,并将校园里所有的主机浏览器配置成指向它。

代理服务器被部署在网络中有两个原因:

  • 代理服务器可以大幅减少客户端请求的响应时间
  • 代理服务器可以大幅减少一个机构接入因特网的流量,进而可以减少整个因特网的流量

通过使用内容分布式网络(Content Distribution Networks),web缓存在当今互联网中扮演着越来越重要的作用

条件GET

虽然代理服务器可以减少用户感知的响应时间,但是它也有一个问题:保存在代理服务器中的对象副本可能是过期的,因为原始服务器中的对象可能被修改了。因此就需要有一种机制可以保证代理中的对象是更新过的,这种机制就是条件GET(代理向原始服务器发送)。

条件GET有两个要素:

  • 请求报文使用GET方法
  • 请求报文包含有If-Modified-Since头部行
原创粉丝点击