Web缓存和条件GET语句简要介绍

Web缓存由一个完成代理服务器–原始服务器和客户端之间的中间实体。当客户端请求某些信息(通过HTTP消息)时, 它将通过代理服务器, 该代理服务器–

  • 首先检查它是否在本地存储副本。
  • 如果有, 则将结果直接转发给客户端。
  • 否则, 它将代表最终主机进行查询, 在本地存储结果的副本, 然后将结果转发回最终主机。
Web缓存(或代理服务器)通常由ISP(Internet服务提供商), 大学甚至公司办公室安装, 其中多个终端主机连接到代理服务器。
安装代理服务器具有多个优点–
  1. 它可以大大减少重复请求的响应时间。 (特别是如果原始服务器和接收方之间的瓶颈小于代理服务器和接收方之间的瓶颈。)
  2. 它减少了(大学或办公室的)访问链接带宽, 从而降低了成本。
  3. 总体上减少了Internet上的流量。
但是有一个问题。
如果在原始服务器上修改了内容, 从而使代理服务器上的副本成为过时的副本该怎么办?
这就是条件GET语句的作用。当代理服务器接收到HTTP请求并将结果存储在本地时, 它仍会查询原始服务器, 询问自代理上次请求该特定对象以来是否已修改该特定对象。服务器。
“ 条件GET” 语句比普通GET语句有一个附加字段, 称为” If-modified-since” 字段, 它指定上次发出相同请求的时间。原始服务器-
  • 告诉代理服务器内容未修改-HTTP 304状态码, 或
  • 发送更新的内容(如果进行了一些修改)– HTTP 200响应消息代码
如果代理服务器收到304 –” 无修改” 消息, 则它将其本地副本转发给客户端。如果在那里进行了修改, 则缓存将转发新对象, 同时将其与接收到新对象的日期和时间一起存储在本地(以便稍后可以请求原始服务器进行修改)。
【Web缓存和条件GET语句简要介绍】出于明显的原因, HTTP 304消息不包含消息正文。

    推荐阅读