当前位置: 首页 > 编程日记 > 正文

浏览器缓存网站静态文件

当用户第一次访问你的网站时,让用户的浏览器缓存网站的静态文件,如图片\CSS\JS等,然后接访问接下来的页面就会直接调用浏览器的缓存而不是重新从服务器下载,这样既节省带宽和流量又加快了用户打开网页的速度,一石三鸟,用不用你们自己把握。

我们可以用以下两个工具查看:
1. Yahoo开发的浏览器插件YSlow (https://addons.mozilla.org/zh-CN/firefox/addon/yslow/ ,Add Expires headers)
2. Google的Page Speed Online (https://developers.google.com/pagespeed/ ,使用浏览器缓存)

如果的服务器用的是Apache并且支持mod_expires模块,那么只要在网站更目录的.htaccess文件中添加以下代码即可,

//css|htm|html|js|flv|gif|jpg|jpeg|png|ico|swf格式的文件浏览器缓存1个月
<ifmodule mod_expires.c>
  <filesmatch  ?\.(css|htm|html|js|flv|gif|jpg|jpeg|png|ico|swf)$?>
       ExpiresActive on
       ExpiresDefault "access plus 1 months"
   </filesmatch>
</ifmodule>

但如果你的服务器不支持mod_expires模块,没关系,我的服务器也不支持,为一个文件过期模块不值得装,我们可以通过常用的mod_header模块实现同样的功能,同样方法添加到.htaccess文件中:

<ifmodule mod_headers.c>
//ico|pdf|flv|jpg|jpeg|png|gif|swf格式的文件缓存一年
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
//js|css格式的文件缓存一个月
<FilesMatch "\.(js|css)$">
Header set Cache-Control "max-age=2629743, public"
</FilesMatch>
//html|htm|txt格式的文件缓存一天
<FilesMatch "\.(html|htm|txt)$">
Header set Cache-Control "max-age=86400, public"
</FilesMatch>
</ifmodule>

转载于:https://www.cnblogs.com/dwnblogs/archive/2012/12/21/2827647.html

相关文章:

MQTT 心跳和keepalive配置

MQTT 心跳和keepalive配置 内容&#xff1a; 正常MQTT 服务器端会配置一个超时时间&#xff0c;一般为60s&#xff0c; 在这个时间段内一个连接如果没有数据传输的话&#xff0c;服务端会主动断开连接以释放资源&#xff0c; 有两种方式可以规避这个问题: 方式1: 最为简单&a…

android开发我的新浪微博客户端-登录页面功能篇(4.2)

上一篇中完成了如上图的UI部分的实现&#xff0c;现在继续来讲功能的实现&#xff0c;用户登录操作主要就是账号列表显示和选择账号登录两个功能其他的都是些简单的辅助功能&#xff0c;首先是点击id为iconSelectBtn的ImageButton时显示用户选择窗口&#xff0c;这个时候去数据…

大脚本运行常见问题总结

1. Allowed memory size of 8388608 bytes exhausted 出现原因&#xff1a;脚本运行超过最大运行时间 解决方法&#xff1a;1 ) 修改 php.ini 文件。将memory_limit 由默认值改成合适的大小&#xff0c;重启服务器。 2&#xff09;在脚本中加入 ini_set("memory_limit&qu…

MQTT Qos类型解释

MQTT Qos类型解释 原文连接: https://blog.csdn.net/yangguosb/article/details/78653228 内容&#xff1a; Qos0 发送者只发送一次消息&#xff0c;不进行重试&#xff0c;Broker不会返回确认消息。在Qos0情况下&#xff0c;Broker可能没有接受到消息&#xff0c;流程如…

对做技术的一点思考

做技术在中国有没有前途&#xff1f;这个问题是每个在国内做技术的人都会思考的问题。在我看来&#xff0c;我们之所以会产生样的困扰&#xff0c;主要原因在于我们所谓的研发都是二次开发&#xff0c;国内任何公司&#xff0c;研究单位&#xff08;除开严格保密的单位&#xf…

iis伪静态排除css_魔众系统伪静态规则怎么配

魔众系列系统目前已经有大量用户在使用&#xff0c;大家对于伪静态的配置一直有所疑惑&#xff0c;经过和技术小哥哥的协商&#xff0c;我们特意将三种不同的 HTTP 服务器配置文件分享给大家&#xff0c;方便大家参考。魔众系列系统目前已经有大量用户在使用&#xff0c;大家对…

R.drawable 转 bitmap

引用&#xff1a;http://zhidao.baidu.com/question/291703800.html Bitmap bmpBitmapFactory.decodeResource(r, R.drawable.icon); Bitmap newb Bitmap.createBitmap( 300, 300, Config.ARGB_8888 ); Canvas canvasTemp new Canvas( newb ); canvasTemp.drawBitmap(bmp, …

洛谷P3254 圆桌问题(最大流)

题意 $m$个不同单位代表参加会议&#xff0c;第$i$个单位有$r_i$个人 $n$张餐桌&#xff0c;第$i$张可容纳$c_i$个代表就餐 同一个单位的代表需要在不同的餐桌就餐 问是否可行&#xff0c;要求输出方案 Sol 比较zz的最大流 从$S$向$1-m$连流量为$r_i$的边 从$m 1$向$m n$连流…

设置commit 提交模板

设置commit 提交模板 建议提交 &#xff08;.template&#xff09;模板文件 放在用户目录(Doceuments)下 (~/Doceuments) 原文连接: https://blog.csdn.net/mafei852213034/article/details/51908049 内容&#xff1a; 1、在根目录建立模板文件 如 xxx_template文件&#…

listen函数的第二个参数_【图像处理】OpenCV系列十七 --- 几何图像变换函数详解(一)...

上一篇我们学习了仿射变换的warpAffine函数&#xff0c;知道了如何用这个函数对图像进行旋转、平移等操作&#xff0c;那么本节我们一起来学习一下与仿射变换相关的其他函数以及相关的几何图像变换。一、convertMaps()函数1、函数原型void convertMaps(InputArray map1, InputA…

flex java socket通信

引用:http://developer.51cto.com/art/201003/189791.htm Java socket通信如何进行相关问题的解答呢&#xff1f;还是需要我们不断的学习&#xff0c;在学习的过程中会遇到不少的问题。下面我们就从源代码中找到有关的问题解决方案。希望大家在以后的Javasocket通信使用中有所收…

编程珠玑:对DAO层的一点修改

由于以前的Domain对象都是不需要序列化的&#xff0c;所以为了操作数据库查询的方便&#xff0c;直接采用继承BaseDomain的方式来完成。这样在传递动态参数的时候&#xff0c;只需要把参数放到Map总&#xff0c;就可以很好的在ibatis配置文件(map.xx来直接获取值)中使用。 这样…

solr 下载 有dist目录的(6需要8)

http://archive.apache.org/dist/lucene/solr/ solr6 需要java8 转载于:https://www.cnblogs.com/hnqm/p/9367140.html

抛出一个nullpointerexception_Java 14 发布了,再也不怕 NullPointerException 了!

推荐阅读&#xff1a;Java程序员danni&#xff1a;就一个HashMap&#xff0c;居然能跟面试官扯上半个小时&#xff1f;​zhuanlan.zhihu.com2020年3月17日发布&#xff0c;Java正式发布了JDK 14 &#xff0c;目前已经可以开放下载。在JDK 14中&#xff0c;共有16个新特性&#…

linux平台软件动态分析工具valgrind系列工具及其可视化

linux平台软件动态分析工具valgrind系列工具 Memcheck–内存检查工具Callgrind–函数调用分析工具Cachegrind–缓存命中分析工具Helgrind–线程分析工具Massif–内存堆栈分析工具 一、Valgrind 概述 Valgrind是一套Linux下&#xff0c;开放源代码&#xff08;GPL V2&#xf…

codeviz安装使用全记录

安装过程 $ sudo apt-get install -y graphviz graphviz-dev graphviz-doc $ sudo apt-get install -y libgv-* $ sudo apt-get install -y ncftp $ sudo ln -sf /usr/include/asm-generic/ /usr/include/asm http://www.csn.ul.ie/~mel/projects/codeviz/ $ wget http://www.c…

运维工程师的职责和前景

转载自网络 运维中关键技术点解剖&#xff1a;1 大量高并发网站的设计方案 &#xff1b;2 高可靠、高可伸缩性网络架构设计&#xff1b;3 网站安全问题&#xff0c;如何避免被黑&#xff1f;4 南北互联问题,动态CDN解决方案&#xff1b;5 海量数据存储架构 一、什么是大型网站运…

java visualvm远程监控_深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

本文转自互联网&#xff0c;侵删本系列文章将整理到我在GitHub上的《Java面试指南》仓库&#xff0c;更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star哈文章将同步到我的个人博客&#xff1a;http://www.how2playlife.com本文是微信…

WCF入门(一)——简单的示例

这篇随笔写了一段时间了&#xff0c;当时没有发布&#xff0c;今天整理文档的时候发现了&#xff0c;顺便给配了些图。主要是绍了一下WCF编程模型&#xff0c;并给了一个简单的示例。 概述 WCF框架是下一代.NET平台通信应用程序的核心。它包含了Web服务、Remoting、同步和异步…

Callgrind--函数调用分析工具以及可视化方法

生成分析文件 命令行运行: valgrind --toolcallgrind ./palmGateMachine 检测完毕之后会生成一个文件callgrind.out.26805&#xff0c; 后面的数字其实是这个待测进程的pid 可视化方法 可视化方法 可视化工具 kcachegrind 1、下载地址: https://launchpad.net/ubuntu/trust…

Java中BASE64 编码

2019独角兽企业重金招聘Python工程师标准>>> BASE64 编码是一种常用的字符编码&#xff0c;在很多地方都会用到。JDK 中提供了非常方便的 BASE64Encoder 和 BASE64Decoder&#xff0c;用它们可以非常方便的完成基于 BASE64 的编码和解码。下面是本人编的两个小的函数…

java script (二)

实现轮播图 获取元素 document.getElementById("id名称") 事件&#xff08;onlond&#xff09; onlond "changeImg()" 在<script>中function changeImg(){ document.getElementById("img").src "图片地址"} 定时操作&…

转 [JAVA] 使用 common-fileupload 实现文件上传

就在前段时间&#xff0c;还在苦于找到不到合适的上传组件&#xff0c;虽然很早就知道了 common-fileupload&#xff0c;但当时却因为没有找到如何获取表单参数的方法而使用 jspSmartUpload&#xff0c;历尽艰辛终于找到了它的 jar&#xff0c;可是使用后才发现此东西对中文参数…

Cachegrind--缓存命中检查工具及其可视化

Cachegrind–缓存命中检查工具及其可视化 和 Callgrind–函数调用分析工具以及可视化方法 一模一样 命令改为: valgrind --toolcachegrind ./palmGateMachine 生成的文件名: cachegrind.out.8025 用kcachegrind 打开 参考我的另一篇文章&#xff1a; https://editor.csdn.…

java 快排_八大排序-快速排序(搞定面试之手写快排)

概要快速排序由C. A. R. Hoare在1960年提出&#xff0c;是八大排序算法中最常用的经典排序算法之一。其广泛应用的主要原因是高效&#xff0c;核心算法思想是分而治之。快速排序经常会被作为面试题进行考察&#xff0c;通常的考察思路是快排思想、编码实践之手写快排以及进一步…

maven命令简介

为什么80%的码农都做不了架构师&#xff1f;>>> 创建普通应用项目&#xff1a; mvn archetype:create -DgroupIdcom.byread -DartifactIdblog 创建WEB项目&#xff1a; mvn archetype:create -DgroupIdcom.byread -DartifactIdblogweb -DarchetypeArtifactIdmav…

分治策略解决幂乘问题

float fast_pow ( float x, float y ) {if ( y 1 )return x;else if ( (int)y % 2 0 )return fast_pow(x,y/2)*fast_pow(x,y/2);elsereturn fast_pow(x,(y-1)/2)*fast_pow(x,(y-1)/2)*x; } 转载于:https://www.cnblogs.com/Nicholastwo/p/9368076.html

用java实现一个计算器程序_1.2第一个java程序——hello world

第一个java程序——hello world实现一个java程序&#xff0c;主要有三个步骤&#xff1a;1、编写源代码&#xff0c;2、编译源代码&#xff0c;3、运行。java的源代码必须先编译&#xff0c;然后才能由JVM解析执行。所以我们程序员第一步的工作就是要编写java的源代码文件&…

linux valgrind Memcheck--内存检查工具

linux valgrind Memcheck–内存检查工具 使用方法: 注意&#xff0c;这里要用debug版本&#xff0c;如果是release的运行文件&#xff0c;则用debug编译出来的可执行文件替换 输出到终端: valgrind --toolmemcheck --leak-checkfull ./test.out输出到文件: valgrind --toolm…

Cassandra 1.2 发布,NoSQL 数据库

NoSQL 数据库 Cassandra 发布 1.2 正式版&#xff0c;该版本包含 CQL3&#xff0c;这是在 2012年4月发布的 1.1 版本中引入的。CQL 是一个 Cassandra 的建模和查询语言&#xff0c;类似关系数据库中的 SQL。CQL3 支持多列主键和很多其他的改进。 Another Cassandra 1.2 主要的增…