铜螺母,铜螺丝,螺栓,螺钉工厂网站建设
废气处理设备,如活性炭吸附箱、RTO蓄热式氧化处理设备、光氧等离子复合设备 低温等离子设备 光氧催化设备等网企业网站建设
工业纸箱 纸箱 包装彩印 纸托盘 纸护角公司网站建设
办公区绿植租赁公司网站建设 定制苗圃直供企业网站
今天有个人网络公司的负责人加了我QQ,问我怎么设置静态内容缓存时间,是通过我以前写过的一篇文章,《如何设置静态内容缓存时间》http://www.douban.com/note/361486825/
我们公司目前做的网站都是apche加php的 iis,自从我大2之后还真没用过了,因为没有apche配合php好,而且apche配置起来很方便,比较主流。
于是我就在网上找了下关于IIS设置静态内容缓存时间的教程,在这里奉献给大家。
关于IIS设置静态内容缓存时间
默认情况下此标签中的界面如下图:
此时,如果向该网站的一个网页发出请求,该网页中包含了一张图片的链接,那么在获取到该网页的HTML文档之后,浏览器会继续对这张图片发出请求,该请求的响应在Http Response Header中如下表达:
HTTP/1.1 200 ok (表示服务器找到了此图片并正确响应)
Date:Thu, 04 Feb 2010 08:25:38 GMT (响应的时间,格林尼治时间)
Last-Modified:Wed, 03 Jan 2009 01:55:06 GMT(图片最后被修改的时间,格林尼治时间)
这张图片会被浏览器保存在本地硬盘的IE临时文件夹中。使用同一个浏览器窗口在同一个会话中再次访问到这个页面,则页面中的组件都不再重新请求。
当在这台机器上打开另一个浏览器窗口(另一个会话)又一次访问此页面时,由于这张图已经在本地保存了,但是浏览器刚才的响应中并没有规定内容的过期机制,因此浏览器仍会向服务器发出一次请求:
If-Modified-Since: Wed, 03 Jan 2009 01:55:06 GMT (询问服务器,我本地这张图片的最后修改时间是这个,在此时间之后你那有没有更新的版本?)
If-None-Matched: "abdkfkdkdkdjkjkfkfd" (这是一段ETag编码,是服务器端给该组件的唯一标示)
服务器收到请求后检查被请求的图片,发现它的最近修改时间还是Wed, 03 Jan 2009 01:55:06 GMT ,于是响应请求:
HTTP/1.1 304 Not Modified (请求的图片找到了,并且没有被改变过)
Date:Thu, 04 Feb 2010 08:25:38 GMT (响应的时间)
浏览器收到这个响应就知道它可以放心地使用本地存储的这张图片了,不必再从服务器重新下载该组件。
由此可见,IIS Http Headers标签的默认设置是不禁止浏览器缓存的,但是也没有告诉组件保存过期的时间,因此浏览器将组件保存在本地后,
每次访问都会询问服务器此组件是否过期,如果没过期则使用本地保存的内容,否则从服务器下载内容。 可以看出它只减少了从服务器下载内容的次数,
并没有减少向服务器发出请求的次数,请求和响应依然耗费了时间。
在IIS中定位到网站存放图片的文件夹,然后打开属性窗口,在HTTP Headers中做出如下选择,要求组件的过期时间为本次请求后1天,也就是在本地缓存86400秒。
打开浏览器,首次访问该网站的一个网页,该网页中包含一张图片的链接,于是该图片请求的响应在Http Response Header中如下表达:
HTTP/1.1 200 OK (表示服务器找到了此图片并正确响应)
Cache-Control: max-age=86400 (从本次请求时间算起,允许该图片在本地缓存86400秒)
Date: Sat, 14 May 2011 08:09:29 GMT (响应的时间,格林尼治时间)
于是,只要是在1天之内,使用本机的浏览器打开这个网页,都不会再对这张图片发出请求,而是直接使用本地缓存中的这张图片。可见,减少了不必要的HTTP请求,提高了网页的响应速度。
很多网站框架性的组件都是长期不变的,因此我们可以设置更长的过期时间,如下所示:
打开浏览器,首次访问该网站的一个网页,该网页中包含一张图片的链接,于是该图片请求的响应在Http Response Header中如下表达:
HTTP/1.1 200 OK (表示服务器找到了此图片并正确响应)
Date: Sat, 14 May 2011 08:50:12 GMT(响应的时间,格林尼治时间)
Expires: Mon, 23 May 2011 16:00:00 GMT (该图片的本地缓存到2011年5月23日16点为止,格林尼治时间)
那么这意味着只要在5月23日16点之前,在本机上访问该网页,都不会再对此图片发出请求。
有人担心如果这样设置过期机制,一旦对这些组件做了更新,访问者将不能收到变化,那岂不是也很遗憾。其实这有两方面的解决方式:
一方面是网站的开发方,应该对图片,样式表文件和JS文件的命名方式进行改进,比如在文件名上加入版本号,这样你一旦修改了组件内容,就应该使组件拥有新的名称,于是浏览器会发现本地没有对这个组件缓存过,自然就会发起请求。
另一方面,访问者可以通过浏览器的刷新功能强制对网页中的组件重新发起请求。即使设置了过期机制,浏览器的刷新功能仍然会对所有页面组件发出请求的。
总结,本文的目的就是阐释浏览器本地缓存与Web服务器缓存过期机制之间的交互关系,以及如何通过这种方式达到对性能的提升。
从浏览器向一个网页发出请求算起,获得网页的HTML文档的时间只占整个页面应答完成时间的5%,而剩余的95%时间全部是在请求和下载页面中的各个组件。因此减少对页面中组件的请求和下载,有效地利用浏览器缓存机制是十分有意义的。
一、河内机场到胡志明的交通方式 河内机场到胡志明的交通方式有很多种,比如汽车、火车、船等,每种交通方式都有其优势和缺点,游客可以根据自己的时间、预算和偏好来选择适合自己的交通方式。 1. 乘坐汽车 乘坐汽车是从河内机场到胡志明常见的交通方式,游客可以在河内机场乘坐客运汽车前往胡志明,车程大约需要3小时,车费大约为150,000越南盾(约合6美元),游客可以在河内机场的客运大厅**车票。 2. 乘...
网站建设分析有哪些因素影响网站降权? 网站降权是一个很严重的问题,所以我们必须要做好网站,避免网站被降权。下面深圳做网站建设公司与我们简单的分析一下有哪些因素会影响网站降权的。
百度作弊网站定义和害处 1. 作弊网站定义 对搜索引擎作弊,是指为了提高在搜索引擎中展现机会和排名的目的,欺骗搜索引擎的行为。 以下行为都可能被认为是作弊: · 在网页源代码中任何位置,故意加入与网页内容不相关的关键词; · 在网页源代码中任何位置,故意大量重复某些关键词。即使与网页内容相关的关键词,故意重复也被视为作弊行为; · 在网页中加入搜索引擎可识别但用户看不见的隐藏文字。无论是使用同背景色文字、超小字号文...
提升移动端网站打开速度的几个方法 你最近做过移动速度测试吗?你的网站排名如何?一个缓慢的网站会让手机用户望而却步。理想情况下,您希望您的设计能够像在Wi-Fi上的桌面用户一样,在手机上快速加载4G用户。(这是一个相当大的要求,但有些事情你可以做到。) 首先,测试你的移动速度。然后使用这些技巧来提高你的性能,让更多的用户在你的网站上停留更长时间。 1、优化图片 网站速度最大的问题之一是图像大小。图像实际上可以占到页面上下载数据的大...
深圳市云岚复合材料制品有限公司网站建设 深圳市光明区新湖街道楼村社区第一工业区木墩路25号第一栋5层附近公司经营范围防火阻燃PC、PVC、PP塑胶制品,亚克力制品,玻纤板制品,碳纤维制品,凯夫拉制品的加工及销售。国内贸易;货物或技术进出口。
详解锚文本 今天大连seo给大家讲一个非常重要的概念:锚文本!也叫:锚文本链接。锚文本之所以重要是因为它几乎贯通网站各个部位,可以说锚文本链接是网站的灵魂也不为过!为什么这么说呢,看看下面的分析就知道了。 什么是锚文本: 简单地说,一个关键词和一个链接,关键词是一个锚文本链接,比如:网站优化程序这样的可点击文本就是一个锚文本。 锚文本的重要性: 因为很多开原程序里有个...
粤ICP备2023033431号 网站地图 SiteMap
Copyright 2006-2023 虎网站 版权所有