江苏龙网

我们的网站中,怎样设置静态内容缓存时间

『江苏龙网摘要_我们的网站中,怎样设置静态内容缓存时间』\u0026lt;IfModule mod_expires.c\u0026gt; ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-...


我们的网站中往往包含大量的页面组件,比如图片、样式表文件、JS脚本文件和Flash动画。这些组件的变化频率非常低,尤其是那些构成网站基本框架的组件, 几乎不会发生变化。我们可以将这些变化率很低的组件看作静态内容,并且通过max-age或expires标识设置缓存过期的时间,以便下次更快的访问,节约带宽资源,节省服务器资源、提高用户体验等。
【怎样设置静态内容缓存时间】 apache配置:\u0026lt;IfModule mod_expires.c\u0026gt; ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-javascript A604800 ExpiresByType text/css A604800\u0026lt;/IfModule\u0026gt;或者\u0026lt;ifmodule mod_expires.c\u0026gt; \u0026lt;filesmatch "\\.(jpg|gif|png|css|js)$"\u0026gt; ExpiresActive on ExpiresDefault "access plus 600 minutes" \u0026lt;/filesmatch\u0026gt;\u0026lt;/ifmodule\u0026gt;
可以选用的时间参数有years months weeks days hours minutes seconds
也可以加在.htaccess文件:
#Expire Header\u0026lt;FilesMatch "\\.(ico|jpg|jpeg|png|gif|js|css|swf)$"\u0026gt; ExpiresDefault "access plus 2 hours"\u0026lt;/FilesMatch\u0026gt;or# Expire images headerExpiresActive OnExpiresDefault A0ExpiresByType image/gif A2592000ExpiresByType image/png A2592000ExpiresByType image/jpg A2592000ExpiresByType image/jpeg A2592000ExpiresByType image/ico A2592000ExpiresByType text/css A2592000ExpiresByType text/javascript A2592000#A2592000 means 1 month in the future (60*60*24*30=2592000)nginx配置: location ~* ^.+\\.(jpg|jpeg|gif|png|swf|rar|zip|css|js|flv|mp3|wma|wmv|ram|rm)$ { valid_referers none blocked *.http://www.wannuoda.com/; if ($invalid_referer) { #rewrite ^/ http://www.wannuoda.com/ static/logo.png; #return 412; return 403; } access_log off; root /opt/www; expires 10h; break; }或者 location ~ \\.(gif|jpg|png|swf|flv|bmp)$ { valid_referers none blocked *.http://www.wannuoda.com/; if ($invalid_referer) { #rewrite ^/ http://www.wannuoda.com/ static/logo.png; return 403; } expires 30d; } location ~ .*\\.(js|css)?$ { expires 3d; } 测试:curl -I http://www.wannuoda.com/ static/logo.pngHTTP/1.1 200 OKServer: Apache/2.0.63Date: Tue, 21 Jun 2011 08:13:06 GMTContent-Type: image/gifContent-Length: 21734Last-Modified: Tue, 21 Jun 2011 08:11:00 GMTConnection: keep-aliveExpires: Thu, 21 Jul 2011 08:13:06 GMTCache-Control: max-age=2592000Accept-Ranges: bytesEtag和Expires的工作原理
在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下:HTTP/1.1 200 OKDate: Tue, 03 Mar 2009 04:58:40 GMTContent-Type: image/jpegContent-Length: 83185Last-Modified: Tue, 24 Feb 2009 08:01:04 GMTCache-Control: max-age=2592000Expires: Thu, 02 Apr 2009 05:14:08 GMTEtag: “5d8c72a5edda8d6a:3239″客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应并记录相关记录属性标记文件没有发生改动,服务器端返回304,直接从缓存中读取:HTTP/1.x 304 Not ModifiedDate: Tue, 03 Mar 2009 05:03:56 GMTContent-Type: image/jpegContent-Length: 83185Last-Modified: Tue, 24 Feb 2009 08:01:04 GMTCache-Control: max-age=2592000Expires: Thu, 02 Apr 2009 05:14:08 GMTEtag: “5d8c72a5edda8d6a:3239″其中Last-Modified、Expires和Etag是标记页面缓存标识一、Last-Modified、Expires和Etag相关工作原理1、Last-Modified在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记(Http Reponse Header)此文件在服务期端最后被修改的时间,格式类似这样:Last-Modified: Tue, 24 Feb 2009 08:01:04 GMT客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送 If-Modified-Since 报头(Http Request Header),询问该时间之后文件是否有被修改过:If-Modified-Since: Tue, 24 Feb 2009 08:01:04 GMT如果服务器端的资源没有变化,则自动返回 HTTP 304 (Not Changed.)状态码,内容为空,这样就节省了传输数据量。当服务器端代码发生改变或者重启服务器时,则重新发出资源,返回和第一次请求时类似。从而保证不向客户端重复发出资源,也保证当服务器有变化时,客户端能够得到最新的资源。注:如果If-Modified-Since的时间比服务器当前时间(当前的请求时间request_time)还晚,会认为是个非法请求2、Etag工作原理HTTP 协议规格说明定义ETag为“被请求变量的实体标记”。简单点即服务器响应时给请求URL标记,并在HTTP响应头中将其传送到客户端,类似服务器端返回的格式:Etag: “5d8c72a5edda8d6a:3239″客户端的查询更新格式是这样的:If-None-Match: “5d8c72a5edda8d6a:3239″如果ETag没改变,则返回状态304。即:在客户端发出请求后,Http Reponse Header中包含 Etag: “5d8c72a5edda8d6a:3239″标识,等于告诉Client端,你拿到的这个的资源有表示ID:5d8c72a5edda8d6a:3239。当下次需要发Request索要同一个URI的时候,浏览器同时发出一个If-None-Match报头( Http Request Header)此时包头中信息包含上次访问得到的Etag: “5d8c72a5edda8d6a:3239″标识。If-None-Match: “5d8c72a5edda8d6a:3239“,这样,Client端等于Cache了两份,服务器端就会比对2者的etag。如果If-None-Match为False,不返回200,返回304 (Not Modified) Response。3、Expires给出的日期/时间后,被响应认为是过时。如Expires: Thu, 02 Apr 2009 05:14:08 GMT需和Last-Modified结合使用。用于控制请求文件的有效时间,当请求数据在有效期内时客户端浏览器从缓存请求数据而不是服务器端. 当缓存中数据失效或过期,才决定从服务器更新数据。4、Last-Modified和ExpiresLast-Modified标识能够节省一点带宽,但是还是逃不掉发一个HTTP请求出去,而且要和Expires一起用。而Expires标识却使得浏览器干脆连HTTP请求都不用发,比如当用户F5或者点击Refresh按钮的时候就算对于有Expires的URI,一样也会发一个HTTP请求出去,所以,Last-Modified还是要用的,而 且要和Expires一起用。5、Etag和Expires如果服务器端同时设置了Etag和Expires时,Etag原理同样,即与Last-Modified/Etag对应的Http Request Header:If-Modified-Since和If-None-Match。我们可以看到这两个Header的值和Web Server发出的Last-Modified,Etag值完全一样;在完全匹配If-Modified-Since和If-None-Match即检查完修改时间和Etag之后,服务器才能返回304.

声明:本文是由网友投稿,文中所阐述的观点不代表江苏龙网的立场。

热点

江苏■速围观!2020江苏高考作文,作家吴锡平的范文来了

阅读(46)

根据以下材料,拔取角度,自拟标题,写一篇不少于800字的文┞仿;除诗歌外,体裁自选。同声响应,同气相求。人们老是存眷本身爱好的人和事,久而久之,就会被同类信息所环绕、所塑造。智能互联网时代,这种环绕加倍慎密,这种塑造加倍可感。你将来的样子,也...

热点

孩子■辅导孩子作业有多难?夫妻俩动手,胆战心惊的孩子报警求助

阅读(25)

接到报警后,止马营派出所平易近警急速赶到现场。报警的是一位13岁学生,当天晚上孩子的爸妈在家吵架动起了手,还把妈妈的脸给打肿了,于是她便偷偷报了警。据懂得,当时孩子的父亲李某在家指导小孩做数学功课,出了三道题,第一题孩子写出来了,后面两题错了...

热点

『安全』 安全不可儿戏 急扩!大汛来袭

阅读(30)

位于南京市鼓楼区浮屠桥邻近的滨江步行道,7月8日早上7点至9点,江水逐渐大年夜栈桥漫至江边步行道,鼓楼区滨江管委会和园林工作人员敏捷拉起当心线。邻近多处亲程度台、沿江木栈道被淹,位于江滩上高达3米的摄像监控探头已接近没入水中。步行道上,不少枯枝...

热点

#外援#备战新赛季特殊赛程 久违了!江苏苏宁主帅和三外援归队

阅读(36)

今世界午,奥帅也早早就达到了基地,做浩揭捉练的预备工作,并在练习前同全队召开了沟通会,就球队的情况及接下来的安排进行了安排,并带队进行了练习。三位外援的身材、状况也都保持得不错,另一位外援特谢拉大年夜巴西起色韩国,在7月3日抵达南京,估计将...

热点

过敏■如何预防过敏?专家说:把孩子养得“粗糙”一点

阅读(23)

在南京儿童病院呼吸科门诊,比来过敏性疾病的患儿异常多。大夫说,如今门诊有一半是过敏引起的鼻炎、哮喘。一位患儿的妈妈说:“孩子重要誓苋嗽,之前大年夜来没有想过是过敏性的哮喘,后来到病院查,查出来是螨虫过敏。”大夫介绍,过敏性疾病,以...

热点

#蘑菇#一人致死 野生蘑菇不要采!入夏后多人中了“蘑菇毒”

阅读(41)

入夏以来,江苏省人平易近病院、南京医科大年夜学第一从属病院急诊医学中间主任张劲松传授陆续接到近10起省内各地毒蘑菇中毒病例的会诊,包含南京、姑苏、淮安、宿迁等地均有产生。经由过程形态学剖断、病人生物样本以及蘑菇样本送至我省毒物药物检测剖断中间...

热点

「出类拔萃」美食菜谱助考生“出类拔萃” 简单又美味

阅读(48)

面对人生大年夜考,不少孩子食欲不振,家长不妨学一道《出类拔萃》。“出类拔萃”,出自《孟子·公孙丑上》:“圣人之於平易近,亦类也。出於其类,拔乎其萃,自生平易近以来,未竽暌剐盛於孔子也。”原料:莴苣1根,京葱1根,红椒...

热点

名医问诊:减肥千万避开这些误区 300斤胖子减到120斤又胖回去

阅读(27)

【名医问诊:减肥千万避开这些误区 300斤胖子减到120斤又胖回去】 江苏省人民医院营养科主任马向华教你避开这些减肥误区:1、只想瘦腿、瘦肚子的局部减肥不存在;2、代糖食品根本无法阻止你发胖;3、切胃减肥成功后 , 并不能为所欲为 , 想吃啥就吃啥 。 不...

滚动

央视@阿尔及利亚航空公司将暂停飞往意大利米兰的航班

阅读(33)

据悉,这一停飞决定是在意大年夜利当局8日决定对该国北部地区实施封闭隔离后做出的,章一离政策影响到1500万人。今朝,阿尔及利亚已经确诊的新冠肺炎病例达20例,均为来自欧洲的输入型病例或由此引起的本地居平易近感染病例。(总台记者单既明)点击进入专...

生活

【长城】全新一代哈弗H6曝光 下半年上市-第3代平台打造

阅读(42)

哈弗H6作为一款“现象级”的SUV产品 , 到目前已经走过了8年时间 , 累计销量成功突破300万辆 。 网上车市了解到 , 哈弗H6将于今年下半年迎来第三代车型 , 基于全新平台打造 。 不过截至目前为止 , 官方还未公布关于这款车的具体信息 。 但从各方消息来看...

知识

怎样设置静态内容缓存时间

阅读(36)

\u0026lt;IfModule mod_expires.c\u0026gt; ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpeg A2592000 ExpiresByType image/png A2592000 ExpiresByType image/x-icon A2592000 ExpiresByType application/x-...

知识

UCL Msc Machine Learning

阅读(16)

麻烦看清楚CSML的要求:本科需要有大量的统计学课程。没有的话,就不贴切,所以就拒了。...

知识

怎样在Instagram网红合作搞活动做推广

阅读(44)

1. 明白合作目标。一般和网红合作的都是看重他们能带流量,所以当然是粉丝越多越好,然则大年夜网红一般都是专业的经纪公司代劳,往往意味着高额的推广费用,且对合作品牌的选择也更严格,根本不会推敲名不见经传的新品牌。新品牌找网红合作的更好办法是,由...

知识

立志做机器学习方面,对于计算机领域的广度和专精那个重要?

阅读(11)

数学,数学,数学!重要事情说三遍!更具体点,统计推断,优化理论,矩阵\\张量分析。既然选择了算法,编程语言从此沦为助攻,熟练一门即可。即使matlab也够发文章。 ■网友 如果没有回答我先关闭了 ■网友 没人会问你那些的,但是编程要熟练,数据结构要熟悉...