`
魏祖清
  • 浏览: 180262 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

静态文件应该缓存在哪里

阅读更多
通过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)才是做这个的
分享到:
评论

相关推荐

    Spring Boot Web 静态文件缓存处理的方法

    静态文件缓存处理是 Web 开发中非常重要的一步,特别是在移动设备上访问时,静态文件的加载速度会对用户体验产生很大的影响。在本文中,我们将介绍使用 Spring Boot 的缓存机制来缓存静态文件,从而提高页面加载速度...

    panthro:这个想法是为了加快gem命令缓存gem和spec文件的速度。 Rubygems代理缓存是一个机架应用程序,可将静态文件缓存到正在运行的本地计算机中。 是不缓存api调用

    gem sources --add http://localhost:4732并删除rubygems镜: gem sources --remove http://rubygems.org然后,您可以开始安装gems,并且* .gem * .spec.gz之类的静态文件将被缓存在./cache文件夹中。这个怎么运作...

    Springboot如何设置静态资源缓存一年

    在Web应用程序中,静态资源如JavaScript、CSS、图片等文件是不会频繁变化的,因此可以将其缓存在用户的浏览器中,以减少对服务器的请求次数,提高页面加载速度。缓存静态资源可以减少服务器的压力,提高用户体验。 ...

    将followingloaders的结果缓存在磁盘上

    标题提到的“将following loaders的结果缓存在磁盘上”,这是指Webpack的一个特性,即使用缓存加载器(如`cache-loader`)来存储加载器处理后的结果,以便在后续构建中快速复用,避免重复处理相同的文件。...

    Ruby-ActionPack的Action缓存在Rails40中从核心移除

    Page Cache(也称为Action Controller Caching)将整个页面的HTML直接缓存到静态文件系统中,这样服务器可以像处理静态HTML文件一样直接返回,无需经过Rails应用。这种方法简单而高效,但不适用于动态内容,因为所有...

    nfs 文件系统 安装部署已经故障排查

    * async:异步,先缓存在内存再同步磁盘 * anonuid:设置访问 nfs 服务的用户的 uid,uid 需要在 /etc/passwd 中存在 * anongid:设置访问 nfs 服务的用户的 gid 四、解决方案 1. root_squash:默认选项,root ...

    腾讯X5内核离线使用Demo

    X5内核支持HTML5的AppCache和Service Worker等离线存储技术,这些技术允许开发者将必要的网页资源(如HTML、CSS、JavaScript文件)缓存在用户的设备上,即使在网络断开时也能正常访问。AppCache定义了一个离线应用的...

    gulp-rev-all:考虑依赖项的静态资产修订,将内容哈希附加到每个文件名(例如unicorn.css => unicorn.098f6bcd.css),重新编写引用

    此外,诸如类的内容分发网络使您可以将静态资产缓存在中更长的时间。 为什么要叉子? 该项目是从派生的,以添加参考处理和重写功能。 gulp-rev的哲学是,在修订文件和重写对这些文件的引用之间应该分开关注。 gulp...

    中间件工具文件整理包程序

    此外,Nginx还擅长静态文件处理,可以显著降低动态内容生成的负担。 最后,我们讨论Tomcat,这是一个流行的Java应用服务器,主要用于运行Java Servlet和JavaServer Pages(JSP)应用程序。Apache Tomcat是由Apache...

    PHP文件缓存类示例分享

    此外,与Memcached、Redis这类基于内存的缓存相比,文件缓存在读写速度上通常会有较大的性能差距。 以上就是该PHP文件缓存类示例分享中的主要知识点。这个类为PHP开发人员提供了一个方便的工具,通过简单的调用就能...

    Django+Nginx+Redis开发网上商城.zip

    例如,将商品详情页频繁访问的数据缓存在Redis中,可以避免频繁的数据库查询,提升用户体验。另外,Redis还可以作为消息队列,处理异步任务,如发送邮件通知、计算商品推荐等。 在项目结构方面,"Shopping-Mall-...

    blog:我的博客的静态网站生成器

    这个自定义的Go程序从Notion下载页面,将其缓存在notion_cache目录中,转换为静态HTML文件,然后部署到 。 为了从Notion中提取我的内容,我进行了并编写了一个。 我写了一篇有关的文章。 构建并运行 请注意,此...

    git-date-extractor:CLI和JS工具,用于基于Git历史记录提取文件时间戳

    根据git历史记录轻松提取文件日期,还可以选择将其缓存在易于解析的JSON文件中。 我之所以制作此工具,是因为在尝试建立自动化的静态站点部署时,我意识到了两个重要事实: Git不保留操作系统时间戳( git clone...

    小程序源码(无后台)_天气列表锚点.rar

    小程序源码不依赖后台,意味着所有的数据可能都是静态的,或者通过第三方API获取,然后缓存在本地。开发者可能利用微信小程序的`onReachBottom`事件来实现无限滚动加载更多的天气数据,或者使用`wx.setStorage`和`wx...

    Draco是用于压缩和解压缩3D几何网格和点云的库。 旨在改善3D图形的存储和传输。-C/C++开发

    现在从静态URL托管新闻...例如https://www.gstatic.com/draco/v1/decoders/draco_decoder_gltf.wasm随着更多站点开始使用静态URL,用户将受益于将Draco解码器缓存在缓存中更改了Web示例,从静态URL中提取了Draco解码器

    《计算机操作系统》模拟试卷(二)答案.pdf

    作业执行结果会被记录在缓输出表中,然后由缓输出程序负责打印输出。 37. **作业调度与进程调度**: 作业调度决定哪些作业进入主存,而进程调度决定哪个就绪进程获取CPU执行。 38. **预防死锁的资源静态分配策略...

    supesite全局变量

    4. $_SHTML:可理解为静态页面变量,在系统开启静态配置后,它里面才会有数据,而且只是当前浏览的静态页面的信息。 5. $_SGET:此变量不管是静态还是动态页面,里面都会有数据,与 $_SHTML 类似,存储当前浏览的...

    大型WEB网站架构深入分析.pdf

    缓存在大型网站架构中扮演着重要的角色。服务器端的缓存可以采用Apache缓存模块、Squid等,通过缓存技术减少对后端数据库的访问,从而提高响应速度。而在应用开发层面,MemoryCache、Pear Cache模块、Java缓存方案等...

Global site tag (gtag.js) - Google Analytics