`
异步获取爱
  • 浏览: 80016 次
  • 性别: Icon_minigender_1
  • 来自: 大男子主义世界
社区版块
存档分类
最新评论

HTTP响应头管理 提升网站访问速度(转)

阅读更多
     这文章我觉得对各种对响应头不了解的人还是很有好处的,而且我觉得绝大多数研发对这方面的知识也是比较欠缺的。文章是同事发在自己项目的社区论坛里的,也没注明转处,这里就只用文字说明下是转的了。


为什么要讲HTTP头?
      1、 非常简单的通过HTTP头,可以让你的用户打开速度快10倍。
      2、 网上讲HTTP头的文章,都讲的太玄乎和专业,实际价值不大。
      3、 太多人看了太多乱七八糟的文章,加了很多自己也不知道干嘛用的HTTP头。
      4、 HTTP头过大会阻塞你的用户访问,你考虑过吗?如何让你的HTTP头正好够用,能够起到效果又不要过于臃肿堵塞你的用户,你考虑过吗?

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



HTTP响应头的管理
     哪些是常用的HTTP响应头?

看图:




总结来看,常用的HTTP头如下:



哪些头需要好好管理?
      Cache-Control。这是个无比妙用的头,它可以让你的首页,从2MB,变成200KB。
没错,就是它。

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



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

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年。
分享到:
评论

相关推荐

    蓝色通用商城响应式后台管理模板

    响应式后台管理模板是现代Web应用开发中的一个重要组成部分,它为开发者提供了便捷的界面设计,以便于管理和控制网站或应用程序的后台数据。本模板名为“蓝色通用商城响应式后台管理模板”,其特色在于采用iframe...

    雅虎给出的34条优化网站访问速度加快方法

    下面,我们将详细解析这些方法,帮助你理解并应用它们,以实现网站访问速度的显著提升。 1. **减少HTTP请求**:每个HTTP请求都会增加页面加载时间。通过合并CSS和JavaScript文件、使用CSS Sprites技术将多个图像...

    停车场管理系统 响应速度很快

    标题中的“停车场管理系统响应速度很快”表明我们讨论的是一个高效能的停车场管理软件,它能够快速处理各种操作请求,如车辆进出、车位查询等。在实际应用中,这样的系统对于提高服务质量和客户满意度至关重要。 ...

    响应式企业网站后台模板是一款挺漂亮的企业网站后台管理网站模板下载。.rar

    响应式企业网站后台模板是现代网页设计中的一种重要技术应用,它使得网站能够根据用户设备的屏幕尺寸和方向自动调整布局、图片大小以及导航方式,从而提供无缝的用户体验。这款后台管理网站模板以其美观的设计和高效...

    提升JSP页面响应速度的七大秘籍绝招

    利用服务器端缓存机制,如Ehcache、OSCache等,或前端缓存如CDN服务,都可以有效地减轻服务器压力,加快用户访问速度。 ### 结论 提升JSP页面响应速度不仅关乎用户体验,也是提升应用竞争力的关键因素。通过上述七...

    HTML5响应式商城后台管理框架模板_HTML5响应式商城后台管理框架模板_

    使用AJAX技术进行异步数据交互,提升页面加载速度和用户体验;并利用缓存策略优化性能。 总的来说,HTML5响应式商城后台管理框架模板是构建高效、易用且跨平台的后台管理系统的关键。它结合了最新的Web技术,提供了...

    扁平化响应式企业后台管理界面模板.zip

    【扁平化响应式企业后台管理界面模板】是一款专为现代企业设计的高效、直观的网页模板,旨在提升企业管理后台的用户体验和工作效率。这款模板基于HTML5和CSS3技术,结合了扁平化设计和响应式布局的概念,使得在不同...

    响应式网站

    响应式网站设计是一种现代网页开发技术,其核心...总的来说,响应式网站设计是现代网页开发的必备技能,它促进了网站的跨平台兼容性和用户体验的提升,对于任何希望在数字世界中保持竞争力的企业来说都是至关重要的。

    提升win XP的响应速度.docx

    标题中的“提升win XP的响应速度”指的是优化Windows XP操作系统以提高其运行效率和系统响应时间。这通常涉及到系统配置的调整、不必要的服务和启动项的管理,以及网络设置的优化。 描述中提到的问题是用户在启动...

    (自适应手机端)新闻资讯博客网站pbootcms模板 html5响应式新闻博客网站源码下载.zip

    响应式设计是现代网页设计的关键,它允许网站根据访问设备的屏幕尺寸和方向自动调整布局。在这个新闻资讯博客模板中,响应式设计主要通过CSS3媒体查询实现,可以根据浏览器窗口大小改变样式,确保内容在不同设备上都...

    提搞网站访问速度可做哪些优化

    网站访问速度的优化对于提升用户体验和搜索引擎排名至关重要。本文将从服务器优化、数据库优化和后端代码优化三个方面详细介绍如何提高网站的加载速度。 **一、服务器优化** 1. **选择合适的操作系统和配置**:...

    基于PHP的响应式财富管理保险网站.zip

    响应式财富管理保险网站是一种利用现代Web技术,特别是PHP编程语言构建的,旨在提供跨设备兼容性和用户友好体验的在线平台。这样的网站能够自动适应不同的屏幕尺寸,如桌面、平板电脑和移动设备,确保在任何设备上都...

    响应式图文博客网站模板

    这包括导航的易用性、加载速度、触摸友好性等,以提升用户对网站的满意度。 7. SEO优化:对于博客模板,搜索引擎优化(SEO)同样重要。合理的HTML结构、元标签的使用、内链策略等都是提高网站在搜索引擎排名的关键...

    基于PHP的响应式金融理财管理公司网站.zip

    响应式金融理财管理公司网站是现代企业不可或缺的一部分,它利用先进的技术为用户提供高效、便捷的在线理财服务。在这个基于PHP构建的系统中,我们能看到多种关键技术和概念的融合,为金融行业的数字化转型提供了强...

    (自适应移动端)棕色家具装修pbootcms网站模板 响应式家具建材类网站源码下载.zip

    此外,PbootCMS支持静态化,能有效提升网站的加载速度和SEO优化。 响应式设计是这款模板的一大亮点。响应式布局可以根据用户的设备类型,如桌面电脑、平板或手机,自动调整网页的布局和样式,确保在任何设备上都能...

    自适应响应式少儿舞蹈培训网站模板.zip

    总的来说,这个"自适应响应式少儿舞蹈培训网站模板"是一个集成了先进设计思想和技术实现的解决方案,旨在为少儿舞蹈培训机构提供一个高效、易用、跨平台的网络展示窗口,提升其品牌形象和服务质量。无论是初次接触...

    易语言提升加入数组速度源码

    总的来说,提升易语言中数组的加入速度是一项关键的性能优化工作,涉及到内存管理、数据结构选择、算法优化等多个方面。通过深入理解这些概念和技术,开发者可以编写出更加高效和响应迅速的程序。

Global site tag (gtag.js) - Google Analytics