一、设置浏览器缓存的四种方法
1、Last Modiefied:请求页面A,服务器会返回给浏览器页面A,并且加上一个lastmodified的标识表示最后的修改时间,那再次返回的时候,浏览器会通过if -modifiedsince询问在这个最后的修改时间之后是否修改过这个文件,然后服务器进行对比,最后服务器检查两个值的时间是否一致,如果一致,返回304缓存,不一致200。
2、Etag:与Last-Modiedied功能一致,Etag的出现弥补了Last-Modiedied的不足;
只能精确到秒:如果某些文件在1秒钟以内,被修改多次的话,它将不能准确标注文件的修改时间。
内容定期生成:当有时内容并没有任何变化,但Last-Modified却改变了,导致文件没法使用缓存。
没有准确获取文件修改时间:有可能存在服务器没有准确获取文件修改时间,或者与代理服务器时间不一致等情形。
3、Expire:在响应http请求时告诉浏览器在过期时间前可以直接从浏览器缓存取数据,而无需再次请求。
4、cache-control的浏览器缓存其实跟EXPIRES作用是一致的,但是在设置上会更加的细致,可以满足很多不同的需求。
二、设置四种浏览器缓存后,浏览器再次请求时的工作流程
三、Apache缓存配置
1、去掉httpd.conf文件中缓存模块的注释
# 启用缓存模块 LoadModule expires_module modules/mod_expires.so
2、在httpd.conf文件末尾加入缓存配置文件
# mod_expires.conf 缓存配置 Include conf/extra/mod_expires.conf
3、在conf/extra文件夹下新建mod_expires.conf文件,加入以下代码
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 10 days" ExpiresByType text/css A2592000 </IfModule>
上述配置文件中,“access plus 10 days”意指浏览时起算10天。依照Apache官方说明文件,过期起算时间有三种,分别是access、now 以及modification。其中access与now意义相同,而modification指的是网页文件的”最后编辑时间”。
(1)ExpiresActive On是指启用mod_expires功能,相对的Off就是关闭功能。
(2)ExpiresDefault是设定预设的过期时间。
(3)ExpiresByType是依照不同的网页文件型态来做过期时间设定。
使用<IfModule></IfModule>来包夹指令可以避免在mod_expires模组没有启用的情况下还要去执行。如果mod_expires模组确定已经启用,那不写<IfModule></IfModule>也没关系。
4、重启Apache使更改生效
相关推荐
首先,我们需要理解浏览器缓存的工作原理。浏览器为了提高网页加载速度和减少网络带宽消耗,会将访问过的网页资源(如图片、CSS、JavaScript和SWF文件等)存储在本地缓存中。当用户再次访问同一网页时,浏览器会优先...
本主题聚焦于“j2ee maven 结合gulp构建工具构建 war 自动刷新浏览器缓存”,我们将深入探讨这个话题。 首先,J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,它为开发和部署分布式企业级应用...
2. **系统架构中的速度差异**:在基于Web的应用架构中,常见的速度差异包括读取文件系统、数据库内存、应用内存、静态文件以及浏览器缓存等。缓存技术旨在减少这些环节的延迟,提高用户体验。 **缓存类型** 1. **...
这段代码的作用是设置浏览器缓存格式为`flv`, `gif`, `jpg`, `jpeg`, `png`, `ico`, `swf`等类型的文件长达一个月(即30天)。这里`max-age=2592000`表示缓存时间为30天,换算为秒则是30*24*60*60=2592000秒。 3. ...
1. **HttpClient实例**:这是执行HTTP请求的基础,通过`HttpClientBuilder`或者`HttpAsyncClientBuilder`构建,可以定制各种连接管理、重试策略、缓存等设置。 2. **HTTP方法**:HttpClient支持所有标准的HTTP方法...
浏览器缓存可通过设置HTTP头部信息进行控制。 ```plaintext HTTP/1.1 200 OK Date: Fri, 30 Oct 1998 13:19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: ...
这里没有给出具体的缓存清理代码,因为实际应用中可能涉及不同的缓存实现(如 Redis、Memcached 或 Ehcache),清理缓存的方法会因缓存技术而异。 总之,通过扩展 Shiro 的 `LogoutFilter`,我们可以在用户登出时...
浏览器缓存是提高网站性能的重要手段,通过合理设置HTTP头部信息,可以有效地减少HTTP请求次数,降低网络延迟,提升用户体验。本文主要探讨了与浏览器缓存相关的HTTP头信息,包括Expires、Cache-Control、Last-...
当设置`max-age`时,浏览器将在指定时间内缓存该资源,无需向服务器再次请求。例如,`max-age=604800`表示资源的有效期为一周(604800秒)。 `expires`是另一个与缓存相关的HTTP头,它指定一个绝对的过期时间(基于...
浏览器缓存则是指浏览器为了提高页面加载速度而保存的一些数据。这些数据包括但不限于HTML文档、图片、JavaScript文件等。浏览器会在下次访问同一页面时尝试使用缓存中的数据,从而减少网络请求,加快页面加载速度。...
例如,在Web应用系统中,常见的速度差异包括读取文件系统、数据库、应用内存、静态文件和浏览器缓存等。缓存技术能够有效地减少对低速资源的访问,提高整体系统响应速度。 缓存技术主要分为以下几类: 1. 操作系统...
- 利用`mod_expires`设置合适的过期时间,帮助浏览器更高效地缓存静态资源。 4. **日志管理和监控**: - 安装并配置Cronolog等工具,定期归档日志文件,避免日志文件过大占用过多磁盘空间。 - 实施系统监控,...
Apache图片服务器是一款基于Apache HTTP Server的专门...以上就是关于Apache图片服务器的安装和使用方法。请根据实际情况调整步骤,并参考官方文档以获取更详细的配置信息。祝你成功搭建并愉快地使用Apache图片服务器!
本文将详细阐述如何在Linux上的Apache服务器上配置文件压缩和缓存,以提高网站的加载速度和减少服务器带宽消耗。 首先,我们需要启用Apache的压缩功能。压缩能够减小发送到客户端的数据量,从而加快页面加载速度。...
`mod_expires`可以设置静态资源的过期时间,利用浏览器缓存提高页面加载速度。还有像`mod_proxy`和`mod_cache`这样的模块,可用于负载均衡和内容缓存,进一步提升服务器性能。 错误日志和访问日志对于调试和监控...
- **客户端缓存**:本地浏览器缓存减少对网站的重复请求。 ### 3. 缓存技术的分类 - **操作系统磁盘缓存**:操作系统自动管理的Disk Cache,如Windows的虚拟内存和Linux的Page Cache。 - **数据库缓存**:数据库...
第五步:测试,刷新页面最好强制刷新 ctrl+F5,不然浏览器缓存看不到效果。可以看到,访问 localhost 请求会分摊到 2 个 Tomcat 中。 Apache 配置负载均衡的优点是可以提高访问性能和可用性,能够将用户的访问请求...
为了保证线程安全,开发者需要熟悉并发控制机制,如synchronized关键字、wait()和notify()方法,以及使用java.util.concurrent包中的工具类。 浏览器的另一个核心部分是网页解析。Java可以使用内置的XML解析器处理...