`
身心不坚强
  • 浏览: 36888 次
  • 性别: Icon_minigender_2
  • 来自: 西安
社区版块
存档分类
最新评论

Apache设置浏览器缓存的方法

 
阅读更多

一、设置浏览器缓存的四种方法

 

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使更改生效

分享到:
评论

相关推荐

    Flex客户端IE浏览器缓存问题

    首先,我们需要理解浏览器缓存的工作原理。浏览器为了提高网页加载速度和减少网络带宽消耗,会将访问过的网页资源(如图片、CSS、JavaScript和SWF文件等)存储在本地缓存中。当用户再次访问同一网页时,浏览器会优先...

    j2ee maven 结合gulp构建工具构建 war 自动刷新浏览器缓存

    本主题聚焦于“j2ee maven 结合gulp构建工具构建 war 自动刷新浏览器缓存”,我们将深入探讨这个话题。 首先,J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,它为开发和部署分布式企业级应用...

    javaeye Robbin 论缓存技术

    2. **系统架构中的速度差异**:在基于Web的应用架构中,常见的速度差异包括读取文件系统、数据库内存、应用内存、静态文件以及浏览器缓存等。缓存技术旨在减少这些环节的延迟,提高用户体验。 **缓存类型** 1. **...

    apache中使用.htaccess文件缓存图片的配置方法

    这段代码的作用是设置浏览器缓存格式为`flv`, `gif`, `jpg`, `jpeg`, `png`, `ico`, `swf`等类型的文件长达一个月(即30天)。这里`max-age=2592000`表示缓存时间为30天,换算为秒则是30*24*60*60=2592000秒。 3. ...

    apache的请求的浏览器jar包

    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: ...

    java shiro实现退出登陆清空缓存

    这里没有给出具体的缓存清理代码,因为实际应用中可能涉及不同的缓存实现(如 Redis、Memcached 或 Ehcache),清理缓存的方法会因缓存技术而异。 总之,通过扩展 Shiro 的 `LogoutFilter`,我们可以在用户登出时...

    浏览器缓存相关http头尽量减少http的请求次数

    浏览器缓存是提高网站性能的重要手段,通过合理设置HTTP头部信息,可以有效地减少HTTP请求次数,降低网络延迟,提升用户体验。本文主要探讨了与浏览器缓存相关的HTTP头信息,包括Expires、Cache-Control、Last-...

    apache提示没有设置 max-age or expires解决办法.docx

    当设置`max-age`时,浏览器将在指定时间内缓存该资源,无需向服务器再次请求。例如,`max-age=604800`表示资源的有效期为一周(604800秒)。 `expires`是另一个与缓存相关的HTTP头,它指定一个绝对的过期时间(基于...

    PHP 缓存详情机制

    浏览器缓存则是指浏览器为了提高页面加载速度而保存的一些数据。这些数据包括但不限于HTML文档、图片、JavaScript文件等。浏览器会在下次访问同一页面时尝试使用缓存中的数据,从而减少网络请求,加快页面加载速度。...

    详解java缓存ppt讲义

    例如,在Web应用系统中,常见的速度差异包括读取文件系统、数据库、应用内存、静态文件和浏览器缓存等。缓存技术能够有效地减少对低速资源的访问,提高整体系统响应速度。 缓存技术主要分为以下几类: 1. 操作系统...

    apache安全及优化设置

    - 利用`mod_expires`设置合适的过期时间,帮助浏览器更高效地缓存静态资源。 4. **日志管理和监控**: - 安装并配置Cronolog等工具,定期归档日志文件,避免日志文件过大占用过多磁盘空间。 - 实施系统监控,...

    apache图片服务器安装文件和使用方法

    Apache图片服务器是一款基于Apache HTTP Server的专门...以上就是关于Apache图片服务器的安装和使用方法。请根据实际情况调整步骤,并参考官方文档以获取更详细的配置信息。祝你成功搭建并愉快地使用Apache图片服务器!

    Linux Apache设置压缩及缓存

    本文将详细阐述如何在Linux上的Apache服务器上配置文件压缩和缓存,以提高网站的加载速度和减少服务器带宽消耗。 首先,我们需要启用Apache的压缩功能。压缩能够减小发送到客户端的数据量,从而加快页面加载速度。...

    Apache2中文文档

    `mod_expires`可以设置静态资源的过期时间,利用浏览器缓存提高页面加载速度。还有像`mod_proxy`和`mod_cache`这样的模块,可用于负载均衡和内容缓存,进一步提升服务器性能。 错误日志和访问日志对于调试和监控...

    JAVA缓存技术_深入了解.ppt

    - **客户端缓存**:本地浏览器缓存减少对网站的重复请求。 ### 3. 缓存技术的分类 - **操作系统磁盘缓存**:操作系统自动管理的Disk Cache,如Windows的虚拟内存和Linux的Page Cache。 - **数据库缓存**:数据库...

    apache配置负载均衡

    第五步:测试,刷新页面最好强制刷新 ctrl+F5,不然浏览器缓存看不到效果。可以看到,访问 localhost 请求会分摊到 2 个 Tomcat 中。 Apache 配置负载均衡的优点是可以提高访问性能和可用性,能够将用户的访问请求...

    Java 浏览器 Java浏览器

    为了保证线程安全,开发者需要熟悉并发控制机制,如synchronized关键字、wait()和notify()方法,以及使用java.util.concurrent包中的工具类。 浏览器的另一个核心部分是网页解析。Java可以使用内置的XML解析器处理...

Global site tag (gtag.js) - Google Analytics