在互联网应用中,为了提高用户的浏览速度,开发人员需要让浏览器准确的缓存资源文件,如JS,CSS和图片文件。所以需要在使用JS和CSS文件时加一个时间戳。因为如果文件名一样,但时间戳不一样,浏览器会认为是不同的文件而重新下载,不使用缓存,如hello.js?V=20120212
时间戳的设计方案
方案 |
使用场景 |
优点 |
缺点 |
不使用时间戳 |
发布频率非常高,如每日都有多次发布 |
不需要实现时间戳管理 |
没有缓存,影响用户访问速度。 |
每次项目发布更新所有静态资源的时间戳 |
发布频率比较低,如每月一次发布 |
实现比较简单 |
每次项目发布,用户需要更新所有静态资源的缓存。 |
发布时候,只更新修改过静态资源的时间戳 |
发布频率不是非常频繁。 |
为浏览器提供了非常准确的缓存 |
实现比较复杂,有很多问题需要解决 |
使用apache的缓存配置 |
发布频率较高,如每周几次 |
不需要实现时间戳 |
适用场景较少。 |
当然方案3是最好的解决方案,通过SVN接口找到本次项目修改的文件也不难,但是修改时间戳时有几个问题比较麻烦。
- 如果用户使用JS来导入JS,这里面的JS文件也需要更新,那么需要解析JS文件。
- CSS文件里引用了图片,需要更新图片的时间戳,那么需要解析CSS文件。
使用apache的缓存配置。设置文件的缓存周期为1天。
ExpiresActive on
#缓存1天。
ExpiresBytype text/css "access plus 1 days "
ExpiresByType application/x-javascript "access plus 1 days "
ExpiresByType image/jpeg "access plus 1 days "
Expiresbytype image/gif "access plus 1 days "
分享到:
相关推荐
资源包含文件:设计报告word+APP项目Java源码+项目截图 设计实现一个 Android 系统下的文本笔记类 APP,要求按照 Org-mode 的方式实现纯文本任务管理。 定义任务(Item)和子任务,每一条 Item 包括定义任务状态、...
(1) 数据库及接口设计 文件中含有SQL文件 (2)开发环境搭建及项目初始化 配置Maven Mybatis-generator逆向生成数据对象以及时间戳优化 Mybatis-plugin开发助手 Mybatis-PageHelper分页助手 配置Spring、SpringMVC ...
EasyLogger 是一款超轻量级(ROM, RAM)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如: IoT 产品、可穿戴设备、智能家居等等。相比 log4c、zlog 这些知名的 C/C++ 日志库, EasyLogger 的功能更加...
- 支持用户自定义输出方式(例如:终端、文件、数据库、串口、485、Flash...); - 日志内容可包含级别、时间戳、线程信息、进程信息等; - 日志输出被设计为线程安全的方式,并支持 **异步输出** 及 **缓冲输出** ...
这个功能的使用很简单,首先打开某个资源,资源编辑窗口就成为当前窗口,此时单击工具栏的按钮就可以以文本的方式打开资源文件。 五 为选定的代码添加C风格的注释 这个功能就不多说了,就是使用一对/**/ 将选择的...
"心电采集数据100000个点(csv)"是一项专为心脏病学、医学研究和数据科学领域的专业人士设计的数据库资源,它提供了高分辨率的心电图(ECG)数据,适用于各种临床和研究目的。此数据集由100000个数据点构成,记录了一...
67 2.7 获取计算机的所有网络资源 69 2.8 修改本地计算机的网络设置 70 2.9 获取计算机TCP/IP的所有信息 74 <br>第3章 局域网网络通信编程实例 79 3.1 获取网上邻居 79 3.1.1 实现原理...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。...
EasyLogger 是一款超轻量级(ROM, RAM)、高性能的 C/C++ 日志库,非常适合对资源敏感的软件项目,例如: IoT 产品、可穿戴设备、智能家居等等。相比 log4c、zlog 这些知名的 C/C++ 日志库, EasyLogger 的功能更加...
27.6公共文件设计 27.7前台首页设计 27.8登录模块设计 27.9会员信息模块设计 27.10商品显示模块设计 27.11购物车模块设计 27.12收银台模块设计 27.13后台首页设计 27.14类别管理模块 27.15订单管理模块设计 27.16...
27.6公共文件设计 27.7前台首页设计 27.8登录模块设计 27.9会员信息模块设计 27.10商品显示模块设计 27.11购物车模块设计 27.12收银台模块设计 27.13后台首页设计 27.14类别管理模块 27.15订单管理模块设计 27.16...
1.1.4 相关资源及自学提示 4 1.2 PHP的应用范围及案例 5 1.2.1 PHP可以做什么 5 1.2.2 PHP擅长的几个领域及产品介绍 5 1.2.3 PHP不适合做什么 6 1.2.4 其他案例 6 1.3 PHP的Hello, world预览 6 1.3.1 第一个PHP程序...
『疫情数据追踪器:中国COVID-19历史与实时数据采集器』是一个强大的Python编写的数据采集工具,旨在从新浪新闻提供的数据接口中获取中国的疫情相关数据,并将信息整理成结构化的CSV文件格式,方便分析和可视化处理...
1.3.4 时间戳 1.3.5 clob 1.3.6 blob 1.4 表 1.5 存储对象 1.5.1 视图 1.5.2 触发器 1.5.3 过程 1.5.4 函数 1.5.5 包 1.6 Oracle Database 11g的其他重要内容 1.6.1 索引 1.6.2 用户 1.6.3 表空间配额 1.6.4 同义词 ...
Shockwave Flash 3-4 这是一个专为Flash4设计的Dreamweaver插件,由于播放由Flash4 制 作需要系统安装flash player4所以这个插件在向HTML文件中插入flash4 动画时可以由用户指定是3.0版还是4.0版,如果浏览者的系统...
细腻目录描述MeoWoof是一款移动...测验目前无需测试资源 [01-HTML-Git-CSS / 04-重要/良好的自述文件指南/README.md]接触电子邮件: 设计和建造作者: Rob Johnson( ) 奥布里马克( ) 塞尔吉奥·坎波斯( ) Trae M
2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:...
2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:file...
2.7.4 读取整个文件:readfile()、fpassthru()和file() 2.7.5 读取一个字符:fgetc() 2.7.6 读取任意长度:fread() 2.8 使用其他有用的文件函数 2.8.1 查看文件是否存在:file_exists() 2.8.2 确定文件大小:...