我最近在我的网站上添加了HTTP标头,以通知浏览器每当遇到给定的JS / CSS URL时都要与服务器检查。我已经测试过它,它完美地工作;现在所有浏览器都会进行有条件的GET请求。
但问题在于 - 人们仍然将旧标头缓存下来。这些标头或多或少告诉浏览器“永久缓存此内容;不要再更新了!”。可以通过强制刷新来解决这个问题。我不想要求每个人在我们发布代码后都按F5键从而更新页面。
HTML文档本身是否有任何HTTP标头/ HTML元标记可以用来告诉浏览器“忽略JS/CSS文件上的标头并下载此页面中所有包含的文件的最新版本”?
随着越来越多的人清除其缓存或学会自行刷新,这个问题最终会得到解决。但是,我宁愿现在就修复它。然后在一个月左右,我将删除HTML级别的标头,以实现所需的缓存 - 按资源为基础。
注:我不想重命名资源或添加查询参数。我们曾经使用过这种方法(?v = 18、?v = 19等),但每次更新资源都需要手动增加那个数字,这很麻烦。即使从程序上来实现,这也不是理想的解决方案;特别是由于我们的服务器已经正确配置。更有意义的是在HTTP级别上进行操作,因此无论如何访问它 - 从页面中包含、直接从地址栏中访问或其他方式 - 都可以使用。
但问题在于 - 人们仍然将旧标头缓存下来。这些标头或多或少告诉浏览器“永久缓存此内容;不要再更新了!”。可以通过强制刷新来解决这个问题。我不想要求每个人在我们发布代码后都按F5键从而更新页面。
HTML文档本身是否有任何HTTP标头/ HTML元标记可以用来告诉浏览器“忽略JS/CSS文件上的标头并下载此页面中所有包含的文件的最新版本”?
随着越来越多的人清除其缓存或学会自行刷新,这个问题最终会得到解决。但是,我宁愿现在就修复它。然后在一个月左右,我将删除HTML级别的标头,以实现所需的缓存 - 按资源为基础。
注:我不想重命名资源或添加查询参数。我们曾经使用过这种方法(?v = 18、?v = 19等),但每次更新资源都需要手动增加那个数字,这很麻烦。即使从程序上来实现,这也不是理想的解决方案;特别是由于我们的服务器已经正确配置。更有意义的是在HTTP级别上进行操作,因此无论如何访问它 - 从页面中包含、直接从地址栏中访问或其他方式 - 都可以使用。