如何更快打开你的网站——http请求头
来源:互联网 发布:js合并数组排序 编辑:程序博客网 时间:2024/05/16 17:58
协议 状态码
HTTP/1.0 200 OK
服务器时间
Date:
服务器
Server:
文件类型
Content-Type:
自适应
Vary: Accept-Econding
备注:sohu的网站用的Vary后有很多选项,是为了手机访问给对应格式页面的,但是这个方式,哥甚不赞同
最后修改时间
Last-Modified:
备注:www.qq.com没有该项,所以,悲剧的qq,当他的用户每次点击刷新时,别的网站都是个发送If-Modify-Since请求,返回304无变化只需要几百字节,而qq的用户则需要直接请求,全新拿文件,从几百字节消耗变成5W多个字节
压缩格式
Content-Econding: gzip
备注:了解这个妙用,看上篇网站压缩
过期时间
Expires:
缓存设置
Cache-Control: max-age=
经过缓存服务器后的各种头
Age: X-cache: Via: FSS-cahe: 等等
备注:这个再一次说明了,中国的互联网早就是缓存服务器的天下了
哪些头需要好好管理?
Cache-Control
这是个无比妙用的头,它可以让你的首页,从2MB,变成200KB,我们先看看别人用了它之后,做到了啥。
网站
首次打开大小
再次打开大小
首次请求数
再次请求数
www.qq.com
505KB
45KB
92
18
www.sina.com.cn
1261KB
800KB
186
94
www.sohu.com
738KB
296KB
151
61
www.163.com
1784KB
487KB
247
66
减少了这么多,网站和用户双赢,靠的就是这个头。下面我将讲下具体如何用。
Last-Modify
为什么还要单独拿出来说?是因为这个头,有个小的隐藏风险,见过很多人中标,我指出来,希望更多的人可以看到,之后避免。
很多网站,在更新网站或者发布网站临时维护信息时,会采用将老的文件,剪切到其他目录,然后本地再上传一个同名文件进行文件更新或者网站的页面更新。当更新的页面出问题或者维护结束他们使用正常页面给用户服务,会立刻把老的文件剪切回来,覆盖旧文件。
这就有一个非常大的问题,因为对于已经访问过网站的人来说,他们已经把文件缓存到了本地。当用户再次访问网站时,会发送一个If-Modify-Since请求。
老文件
Last-Modified: 旧时间,新文件
Last-Modified: 新时间
当你用旧文件替换新文件后,由于新文件的最后修改时间要早于旧文件的,所以,IE不会让用户拿到没有问题的旧文件,而是让他们使用新文件。
所以,如果你使用用旧文件替代新文件,一定要对旧文件做个小的处理,使其更新最后修改时间,不然,用户依然会访问出问题的页面或者是维护页面。
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请求头
- 如何让网站打开更快第四弹--管好你的HTTP头第一篇
- 让你的网站打开的更快
- 如何让你的网站显示速度更快
- Google告诉你如何让你的网站访问更快
- 如何让你的SQL运行得更快——Sybase11.0.3
- PHP加速-让你的网站更快
- 帮助你更快的进行网站设计 - Markup Framework
- mod_pagespeed:让你的网站跑到更快
- 让PHP网站跑的更快 如何优化PHP
- 如何让你的快照更新的更快
- 如何让你的java代码跑的更快
- 如何让你的sql运行的更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快 zz
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- 如何让你的SQL运行得更快
- win7 安装过程
- zend studio 9 字体,颜色,快捷键等相关设置
- DLL核心编程
- ios学习--UILabel学习随笔
- (莱昂氏unix源代码分析导读-9)系统初启(2)
- 如何更快打开你的网站——http请求头
- 关于服务器上tomcat获取时间少8个小时的问题
- C++虚函数表和虚函数调用机制、同名非虚函数调用机制
- php接口技术实现一个简单的多态应用实例
- Java RMI入门
- 推荐一篇文章“从半空看虚拟化”
- Linux下文件数据的备份和恢复命令: dump 和 restore
- 如何開啟mysql的日志或如何查看 mysql的日志文件
- 结构体_位段