在我们的项目中,我们有一大堆小的css/js文件,所以当我们构建视图时,我们发现自己写了很多<link>
或<script>
标签,迫使浏览器对我们的css/js内容提出许多请求。为了解决这个问题,我们开始寻找一种服务器支持的方式,将所有请求转化为一个请求,将每个css文件或与该操作关联的每个js文件转储到响应中。强制浏览器缓存对Castle MonoRail操作的请求?
没有进入太多细节,我们创建了一个助手类,接受文件,连接起来,然后呈现一个标签,像这样:
<script type="text/javascript" src="/content/js15628453.rails"></script>
的ContentController则具有使用默认的行动“ js15628453'找到Helper存储连接文件的位置并将其流出。这工作得很好。
但是,正如Firebug报告的那样,浏览器始终会发送一个请求到“/content/js15628453.rails”以获取连接文件,尽管URL始终是相同的,并且响应始终是相同的。我尝试过所有类型的HTTP Cache-Control
,Expires
,Last-Modified
等标题的组合,但尚未得到Firebug从缓存中加载的报告。
为什么浏览器可能忽略这些头文件?有没有其他选择我可以尝试强制它被缓存?