MST

星途 面试题库

面试题:网络编程中HTTP/1.1协议下缓存控制机制的主要头字段有哪些,分别简述其作用

在HTTP/1.1协议的网络编程场景下,缓存控制机制涉及多个重要的头字段。请列举出主要的缓存控制头字段,并对每个字段的作用进行简要阐述。
13.6万 热度难度
后端开发网络编程

知识考点

AI 面试

面试题答案

一键面试

主要的缓存控制头字段及作用

  1. Cache - Control
    • 作用:这是最重要的缓存控制头字段,可在请求和响应中使用。它有多个指令值,例如:
      • public:表明响应可以被任何中间缓存(包括代理服务器等)缓存。
      • private:意味着响应只能被终端用户的浏览器缓存,中间代理服务器不能缓存。
      • no - cache:并不是禁止缓存,而是要求缓存把请求提交给原始服务器进行验证,之后才能使用缓存的副本。
      • no - store:绝对禁止缓存存储任何关于该请求或响应的内容,每次都要从原始服务器获取。
      • max - age = [秒数]:指定响应在多少秒内被认为是新鲜的,在此时间内可以直接使用缓存副本,而无需向服务器验证。
  2. Expires
    • 作用:在响应头中使用,指定一个具体的日期和时间,在这个时间之后,缓存的内容就被认为是过期的。不过相比Cache - Controlmax - age,它更依赖于服务器和客户端时钟的同步,不够灵活。如果同时存在Cache - Controlmax - agemax - age优先级更高。
  3. Pragma
    • 作用:主要为了兼容HTTP/1.0,在请求头中使用Pragma: no - cache与HTTP/1.1中的Cache - Control: no - cache类似,目的是告诉中间缓存不要使用缓存的内容,而要向源服务器重新获取。但在HTTP/1.1中,更推荐使用Cache - Control