通过Java过滤器:
String url = req.getRequestURI().toLowerCase();
if (url.indexOf(".png") != -1
|| url.indexOf(".jpg") != -1
|| url.indexOf(".gif") != -1
|| url.indexOf(".htm") != -1) { // 缓存有效期设置为一年
res.setDateHeader("Expires",nowTime+365*60*60*1000);
res.setIntHeader("max-age", 31536000);
res.setHeader("Cache-Control", "public");
res.setHeader("Pragma", "Pragma");
}
else if (url.indexOf(".css") != -1
|| url.indexOf(".js") != -1 && url.indexOf(".jsp") == -1
|| url.indexOf(".htc") != -1
|| url.indexOf(".xsl") != -1)
{ // 缓存有效期设置为一天
res.setDateHeader("Expires",nowTime+24*60*60*1000);
res.setIntHeader("max-age", 86400);
res.setHeader("Cache-Control", "public");
res.setHeader("Pragma", "Pragma");
}
看上去不错但是静态文件(img/css/js etc)的请求就不应该由JAVA容器(如Tomcat)来负责,应该是HTTP服务器(如Apache)才是做这个的
分享到:
相关推荐
静态文件缓存处理是 Web 开发中非常重要的一步,特别是在移动设备上访问时,静态文件的加载速度会对用户体验产生很大的影响。在本文中,我们将介绍使用 Spring Boot 的缓存机制来缓存静态文件,从而提高页面加载速度...
gem sources --add http://localhost:4732并删除rubygems镜: gem sources --remove http://rubygems.org然后,您可以开始安装gems,并且* .gem * .spec.gz之类的静态文件将被缓存在./cache文件夹中。这个怎么运作...
在Web应用程序中,静态资源如JavaScript、CSS、图片等文件是不会频繁变化的,因此可以将其缓存在用户的浏览器中,以减少对服务器的请求次数,提高页面加载速度。缓存静态资源可以减少服务器的压力,提高用户体验。 ...
标题提到的“将following loaders的结果缓存在磁盘上”,这是指Webpack的一个特性,即使用缓存加载器(如`cache-loader`)来存储加载器处理后的结果,以便在后续构建中快速复用,避免重复处理相同的文件。...
Page Cache(也称为Action Controller Caching)将整个页面的HTML直接缓存到静态文件系统中,这样服务器可以像处理静态HTML文件一样直接返回,无需经过Rails应用。这种方法简单而高效,但不适用于动态内容,因为所有...
* async:异步,先缓存在内存再同步磁盘 * anonuid:设置访问 nfs 服务的用户的 uid,uid 需要在 /etc/passwd 中存在 * anongid:设置访问 nfs 服务的用户的 gid 四、解决方案 1. root_squash:默认选项,root ...
X5内核支持HTML5的AppCache和Service Worker等离线存储技术,这些技术允许开发者将必要的网页资源(如HTML、CSS、JavaScript文件)缓存在用户的设备上,即使在网络断开时也能正常访问。AppCache定义了一个离线应用的...
此外,诸如类的内容分发网络使您可以将静态资产缓存在中更长的时间。 为什么要叉子? 该项目是从派生的,以添加参考处理和重写功能。 gulp-rev的哲学是,在修订文件和重写对这些文件的引用之间应该分开关注。 gulp...
此外,Nginx还擅长静态文件处理,可以显著降低动态内容生成的负担。 最后,我们讨论Tomcat,这是一个流行的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)应用程序。Apache Tomcat是由Apache...
此外,与Memcached、Redis这类基于内存的缓存相比,文件缓存在读写速度上通常会有较大的性能差距。 以上就是该PHP文件缓存类示例分享中的主要知识点。这个类为PHP开发人员提供了一个方便的工具,通过简单的调用就能...
例如,将商品详情页频繁访问的数据缓存在Redis中,可以避免频繁的数据库查询,提升用户体验。另外,Redis还可以作为消息队列,处理异步任务,如发送邮件通知、计算商品推荐等。 在项目结构方面,"Shopping-Mall-...
这个自定义的Go程序从Notion下载页面,将其缓存在notion_cache目录中,转换为静态HTML文件,然后部署到 。 为了从Notion中提取我的内容,我进行了并编写了一个。 我写了一篇有关的文章。 构建并运行 请注意,此...
根据git历史记录轻松提取文件日期,还可以选择将其缓存在易于解析的JSON文件中。 我之所以制作此工具,是因为在尝试建立自动化的静态站点部署时,我意识到了两个重要事实: Git不保留操作系统时间戳( git clone...
小程序源码不依赖后台,意味着所有的数据可能都是静态的,或者通过第三方API获取,然后缓存在本地。开发者可能利用微信小程序的`onReachBottom`事件来实现无限滚动加载更多的天气数据,或者使用`wx.setStorage`和`wx...
现在从静态URL托管新闻...例如https://www.gstatic.com/draco/v1/decoders/draco_decoder_gltf.wasm随着更多站点开始使用静态URL,用户将受益于将Draco解码器缓存在缓存中更改了Web示例,从静态URL中提取了Draco解码器
作业执行结果会被记录在缓输出表中,然后由缓输出程序负责打印输出。 37. **作业调度与进程调度**: 作业调度决定哪些作业进入主存,而进程调度决定哪个就绪进程获取CPU执行。 38. **预防死锁的资源静态分配策略...
4. $_SHTML:可理解为静态页面变量,在系统开启静态配置后,它里面才会有数据,而且只是当前浏览的静态页面的信息。 5. $_SGET:此变量不管是静态还是动态页面,里面都会有数据,与 $_SHTML 类似,存储当前浏览的...
缓存在大型网站架构中扮演着重要的角色。服务器端的缓存可以采用Apache缓存模块、Squid等,通过缓存技术减少对后端数据库的访问,从而提高响应速度。而在应用开发层面,MemoryCache、Pear Cache模块、Java缓存方案等...