【发布时间】:2009-04-16 16:18:47
【问题描述】:
在我们的项目中,我们有一大堆小的 css/js 文件,所以当我们构建视图时,我们发现自己写了很多 <link> 或 <script> 标签,迫使浏览器对我们的 css/js 发出许多请求内容。为了解决这个问题,我们开始寻找一种方法让服务器将所有这些都支持到一个请求中,该请求将与操作关联的每个 css 文件或每个 js 文件转储到响应中。
没有太多细节,我们创建了一个 Helper 类,它接受文件,连接它们,并呈现如下标签:
<script type="text/javascript" src="/content/js15628453.rails"></script>
ContentController 然后有一个默认操作,它使用“js15628453”来查找 Helper 存储连接文件的位置并将其输出。这真的很好用。
但是,正如 Firebug 报告的那样,浏览器总是向“/content/js15628453.rails”发送请求以获取连接的文件,尽管 URL 始终相同并且响应始终相同。我已经尝试了 HTTP Cache-Control、Expires、Last-Modified 等标头的所有类型的组合,但还没有得到 Firebug 报告为从缓存中加载的内容。
为什么浏览器会忽略这些标头?是否有任何其他选项我可以尝试强制它被缓存?
【问题讨论】:
标签: caching http-headers castle-monorail