为什么要讲HTTP头?

1、 非常简单的通过HTTP头,可以让你的用户打开速度快10倍。

2、 网上讲HTTP头的文章,都讲的太玄乎和专业,实际价值不大。

3、 太多人看了太多乱七八糟的文章,加了很多自己也不知道干嘛用的HTTP头。

4、 HTTP头过大会阻塞你的用户访问,你考虑过吗?如何让你的HTTP头正好够用,能够起到效果又不要过于臃肿堵塞你的用户,你考虑过吗?

什么是HTTP头?

HTTP协议采用了请求/响应模型。

客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。

以上是抄来的,其实我不想讲,呵呵,但是普及下吧。

下面是我们这一篇中主讲的

HTTP响应头的管理

哪些是常用的HTTP响应头?

看图:
HTTP响应头的管理 提升网站访问速度
总结来看,常用的HTTP头如下:
HTTP响应头的管理 提升网站访问速度

哪些头需要好好管理?

Cache-Control

这是个无比妙用的头,它可以让你的首页,从2MB,变成200KB。

没错,就是它。

我们先看看别人用了它之后,做到了啥。

HTTP响应头的管理 提升网站访问速度

减少了这么多,网站和用户双赢,靠的就是这个头。下面我将讲下具体如何用。

Last-Modify

这个头好用,那就用是了,为什么还要单独拿出来说?

是因为这个头,有个小的隐藏风险,见过很多人中标,我指出来,希望更多的人可以看到,之后避免。

很多网站,在更新网站或者发布网站临时维护信息时,会采用将老的文件,剪切到其他目录,然后本地再上传一个同名文件进行文件更新或者网站的页面更新。当更新的页面出问题或者维护结束他们使用正常页面给用户服务,会立刻把老的文件剪切回来,覆盖旧文件。

这就有一个非常大的问题。

因为对于已经访问过网站的人来说,他们已经把文件缓存到了本地。当用户再次访问网站时,会发送一个If-Modify-Since请求。

老文件 Last-Modified: 旧时间

新文件 Last-Modified: 新时间

当你用旧文件替换新文件后,由于新文件的最后修改时间要早于旧文件的,所以,IE不会让用户拿到没有问题的旧文件,而是让他们使用新文件。

所以,如果你使用用旧文件替代新文件,一定要对旧文件做个小的处理,使其更新最后修改时间,不然,用户依然会访问出问题的页面或者是维护页面。

如何用好Cache-Control?

当你不想让用户缓存时,你只需要添加一个头,no-store即可,其他no-cache、must、must-revalidate、proxy-revalidate等都没必要用,因为no-store一般默认为最高级。

其他可以让用户缓存的页面,区分目录,根据不同的目录,配置不同的max-age头。

max-age啥用处?

用户得到HTTP响应头后,会根据本地时间,加上max-age的时间,形成一个过期时间。例如,用户本次时间为11:00,max-age设置为600,那么文件拿到后,过期时间为11:10分。也就是这个用户,在11:10分以前,访问这个文件,就会直接缓存命中,而不会对服务器发出请求。

所以,max-age的运用就可以让你的网站像那四大门户一样,大小减少到原来的10分之一,请求数也会短期内得到巨大的减少。

如何设置Cache-Control?

如何设置百度娘之。

管理上的建议:

你不可能针对每个文件配置Cache-Control,所以,最好是先拆分域名,将不同应用(文件类一个域名,图片类一个域名等等)配置不同的缓存控制头。

如果你的网站属于大中型网站,如网页访问带宽在100M以上的,可能针对域名配置不同缓存控制头,已经不能满足你的需求了,这个时候,就可以管理好你的目录。

将文件根据你们网站特点分到不同目录,然后针对目录,配置不同的缓存控制头。

max-age设置多大?

以下提出的均为建议值,但是最适合你的,是你自己根据网站特点进行的缓存时间配置。

首页,建议为900,也就是15分钟。

文本类文件,建议为10800,也就是3小时。

图片类文件,建议为86400,也就是24小时。

Swf类文件,建议为604800,也就是7天。

flv、exe类文件,建议为31536000,也就是1年。

作者:王康

标签:
HTTP,响应头

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“HTTP响应头的管理 提升网站访问速度”

暂无“HTTP响应头的管理 提升网站访问速度”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。