首页 / 知识
积极的JavaScript缓存
2023-04-14 20:28:00

Aggressive JavaScript caching我遇到了一个问题,即我对HTML文件中引用的一些JavaScript文件进行了更改,但浏览器看不到更改。即使Web服务器具有较新的版本,它也会保留在浏览器中缓存的副本。 直到我强制浏览器清除缓存后,我才能看到更改。 这是Web服务器配置吗?是否需要将JavaScript文件设置为从不缓存?我已经在Google Web Toolkit中看到了一些有趣的技术,它们在每次进行更新时实际上都会创建一个新的JavaScript文件名。我认为这是为了防止代理和浏览器保留具有相同名称的旧版本的JavaScript文件。 某处是否有最佳做法列表? 我们将产品内部版本号附加到所有Javascript(和CSS等)的末尾,如下所示:
浏览器会忽略问号后的所有内容,但升级会导致产生一个新的URL,这意味着重新加载缓存。 这还有一个好处,就是您可以设置表示"永不缓存!"的HTTP标头。
这可能是因为设置了HTTP Expires / Cache-Control标头。 http://developer.yahoo.com/performance/rules.html#expires 我在这里写过: http://www.codinghorror.com/blog/archives/000932.html
我已经写了一篇关于我们如何克服此问题的博客文章: 避免ASP.NET中的JavaScript和CSS样式表缓存问题 基本上,在开发过程中,您可以在CSS文件名之后的查询字符串中添加随机数。执行发行版本时,代码将改为使用程序集的修订号。这意味着在您的生产环境中,您的客户端可以缓存样式表,但是每当您发布网站的新版本时,它们都将被迫重新加载文件。 @Jason和Darren
,只需在执行请求之前在服务器端删除js之后的第一个目录级别。 编辑:对不起,所有。不会使用查询字符串缓存的是Squid,而不是IE6。更多信息在这里。 关于它的价值,我看到了deviantART网站,这是一个很大的站点,其JavaScript文件为54504.js。我刚刚检查了一下,发现它们现在充当v6core.css?-5855446573 v6core_jc.js?4150339741等。 如果查询字符串的问题来自服务器,我想您可以控制更多或更少。 即使您不打算使用Powershell自动执行部署,这里的一些非常有用的技术。 对于每个发行版,我们只需在所有静态资产的根路径前添加一个单调递增的整数,这将强制客户端重新加载(我们之前已经在IE6中看到查询字符串方法已中断)。例如:
每个版本都需要重新链接,但是我们已经建立了将链接自动更改为部署工具的功能。 一旦执行此操作,就可以使用Expires / Cache-Control标头,使客户端"永远"缓存JS资源,因为该路径随每个发行版而变化,我认为这就是@JasonCohen的意思。 您的网络服务器是否发送了正确的标题以告知浏览器它具有新版本?我也已经在查询字符串中添加了日期。即myscripts.js?date = 4/14/2008 12:45:03(仅对日期进行编码) 我也只是重命名。它永远不会失败,而且很容易做到。 |
最新内容
相关内容
linux命令添加文件?
linux命令添加文件?,工作,简介,数据,系统,文件,命令,操作,文件名,内容,终端,linux哪些指令可以创建文件终端下键入:touch加文件名,这样就创建了linux文件输入命令?
linux文件输入命令?,工作,系统,地址,信息,工具,位置,命令,设备,发行,首开,linux中使用vi指令后怎么输入?1、[Ctrl]+[f]:屏幕向下移动一页,相当于linux文件中剪切命令?
linux文件中剪切命令?,位置,系统,工作,命令,发行,连续,标准,终端,文件,目录,linux怎么粘贴粘贴与复制快捷键 Shift + Ctrl + c:复制。Shift + Clinux存储文件命令?
linux存储文件命令?,系统,地址,工作,命令,软件,电脑,标准,底部,信息,文件,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命令linux保存命令文件?
linux保存命令文件?,系统,状态,命令,文件,第一,管理,电脑,模式,编辑,终端,linux下vi命令编辑器怎样编辑及保存退出?先按ESC进入Command模式,然linux安装浏览器命令?
linux安装浏览器命令?,官网,系统,平台,网站,管理,设备,咨询,工具,官方网站,软件,linuxcentos浏览器在哪里1、linux安装google浏览器方法如下:启删除linux文件命令?
删除linux文件命令?,名称,不了,文件夹,命令,文件,目录,方法,指令,子目录,选项,Linux删除文件的命令?linux 删除文件指令:输入rd盘符名:\文件夹linux文件录入命令?
linux文件录入命令?,系统,命令,网络,标准,时间,密码,名字,管理,文件,文件夹,Linux必学的60个命令-文件处理1、安装和登录命令:login、shutdownlinux命令移除文件夹?
linux命令移除文件夹?,命令,文件夹,通用,不了,数据,名称,档案,系统,文件,目录,删除文件夹中所有文件的linux命令(创建和删除文件和文件夹的linlinux服务器常用命令?
linux服务器常用命令?,工作,系统,地址,信息,命令,目录,管理,标准,设备,功能,重启服务器的linux命令1、首先我首要把linux开机, 命令 rebot 这个linux文件倒序命令?
linux文件倒序命令?,地址,工作,管理,标准,命令,基础,系统,数据,最新,代码,linux命令more查看文件时怎么直接翻到最后一页?more不能直接翻到最在linux文件后加命令?
在linux文件后加命令?,系统,工作,命令,工具,电脑,基础,管理,情况,第一,简介,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内容