Javascript 如果网络中有可用的更新(渐进式web应用),缓存将被更新或不被更新。如果是,那怎么办?
如果网络中有可用的更新(渐进式web应用),缓存将被更新或不被更新。如果是,那怎么办 (电子商务场景)假设客户端第三次和第四次访问同一路径,并且网络收到该路径的一些更新(假设您正在flipkart中查找手机)。但该内容在缓存内存中,搜索的数据已经存储,网络也有更新 因此,如果我们重复访问同一路径,服务人员将使用更新的数据或上次访问期间已存储的数据从本地存储器中提取数据。 归结起来是: 使用http/get获取资源(例如HTML或JavaScript文件)时,响应可以包括两个属性:Javascript 如果网络中有可用的更新(渐进式web应用),缓存将被更新或不被更新。如果是,那怎么办?,javascript,Javascript,如果网络中有可用的更新(渐进式web应用),缓存将被更新或不被更新。如果是,那怎么办 (电子商务场景)假设客户端第三次和第四次访问同一路径,并且网络收到该路径的一些更新(假设您正在flipkart中查找手机)。但该内容在缓存内存中,搜索的数据已经存储,网络也有更新 因此,如果我们重复访问同一路径,服务人员将使用更新的数据或上次访问期间已存储的数据从本地存储器中提取数据。 归结起来是: 使用http/get获取资源(例如HTML或JavaScript文件)时,响应可以包括两个属性: 缓存控制:最
缓存控制:最大年龄=[秒数]
ETag:[一些代码或散列]
max age
告诉浏览器使用缓存而不是发送新的资源http/GET请求的秒数
一旦超过最长使用时间,浏览器将发送http/GET请求,包括ETag
。然后服务器检查其资源,查看ETag
是否仍然与从浏览器发送的匹配。如果匹配,服务器将发送一个304 Not Modified
响应,以节省网络带宽。如果没有,它将再次发送资源,按照max age
中指定的新时间更新浏览器缓存
查看此答案时,请转到浏览器的开发者控制台(如果您使用的是chrome,请按CTRL+SHIFT+I)。重新加载页面。转到网络
选项卡,并使用过滤器查找favicon
。单击它,您将看到响应和请求标题,如下图所示:
请注意缓存控制
和Etag
http头元素。
归结起来是:
使用http/get获取资源(例如HTML或JavaScript文件)时,响应可以包括两个属性:
缓存控制:最大年龄=[秒数]
ETag:[一些代码或散列]
max age
告诉浏览器使用缓存而不是发送新的资源http/GET请求的秒数
一旦超过最长使用时间,浏览器将发送http/GET请求,包括ETag
。然后服务器检查其资源,查看ETag
是否仍然与从浏览器发送的匹配。如果匹配,服务器将发送一个304 Not Modified
响应,以节省网络带宽。如果没有,它将再次发送资源,按照max age
中指定的新时间更新浏览器缓存
查看此答案时,请转到浏览器的开发者控制台(如果您使用的是chrome,请按CTRL+SHIFT+I)。重新加载页面。转到网络
选项卡,并使用过滤器查找favicon
。单击它,您将看到响应和请求标题,如下图所示:
请注意
缓存控制
和Etag
http头元素。如果可能,您可以使用实时示例进行详细说明吗?为此堆栈溢出站点添加了一个实时示例:)web是一个奇妙的地方!如果可能的话,你能详细说明一下使用实时示例吗?为这个堆栈溢出站点添加了一个实时示例:)web是一个很棒的地方!