网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

网页缓存与条件性GET请求

更新时间:2026年03月27日   作者:spoto   标签(Tag):
网页缓存这一过程是由代理服务器来完成的。代理服务器是原始服务器和客户端之间的中间节点。当客户端通过HTTP请求获取某些信息时,这些信息会先经过代理服务器进行处理。
  • 首先,会检查该文件是否已经在本地存储了副本。
  • 如果有的话,那么它会直接将结果发送给客户端。
  • 否则,它会代表最终主机进行查询操作,将查询结果本地保存下来,然后再将结果发送回最终主机。
网络缓存或代理服务器通常由互联网服务提供商、大学甚至企业办公室来安装。在这些系统中,多个终端主机可以连接到代理服务器上。安装代理服务器具有多种优势。
  1. 这可以显著减少重复请求的响应时间。(尤其是当原始服务器与接收者之间的瓶颈小于代理服务器与接收者之间的瓶颈时。)
  2. 它减少了大学或办公室的接入链路带宽,从而降低了成本。
  3. 它会降低整个互联网的流量。

但是,有一个问题需要解决。如果原始服务器上的内容被修改了,那么位于代理服务器上的副本就会变得过时了,这种情况会怎样呢?

这就是Conditional GET语句发挥作用的地方。当代理服务器接收到HTTP请求时,如果结果已经存储在本地,那么代理服务器仍然会向原始服务器查询:该对象是否在上次被代理服务器请求之后发生了更改。

“条件性GET”语句比普通的GET语句多了一个字段,这个字段被称为“If-modified-since”。该字段用于指定上次执行相同请求的时间点。原始服务器会根据这一信息来决定是否更新资源。

  • 该请求告诉代理服务器,该内容并未被修改——即HTTP 304状态码。
  • 发送更新后的内容(如果进行了任何修改的话)——HTTP 200响应代码

如果代理服务器收到“304 – 未修改”的响应,那么它会将本地保存的副本发送给客户端。如果实际上发生了修改,那么缓存系统会发送新的对象给客户端,同时还会记录下获取新对象的日期和时间。这样,之后就可以向原始服务器请求对数据的进一步处理了。
出于显而易见的原因,HTTP 304响应消息并不包含任何消息体内容。

              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料