首页 > Web开发 > 详细

建设高性能网站的14种方法笔记

时间:2020-03-29 18:19:24      阅读:50      评论:0      收藏:0      [点我收藏+]

建设高性能网站的14种方法笔记

1、减少http请求

  • 使用精灵图
  • 内联图片
  • 合并脚本和样式表
    • 因为每个文件都会导致一个额外的请求

2、使用内容发布到网络(CDN)

3、添加Expires头

  • 适用于不是动态变化的资源,如图片

  • 浏览器(和代理)使用缓存来减少HTTP请求的数量,并减少HTTP响应的大小,使web浏览器的页面加载更快,使用Expires头告诉客户端它可以使用一个组件的当前副本,直到指定的时间为止。HTTP规范中简要的称该头为“在这一日期/时间之后,响应将被认为是无效的”。它在HTTP响应中发送。

Expires:Mon Oct 10 2022 08:00:00 GMT+0800

以上是一个长久的Expires头,告诉浏览器有效性持续到2022年。

  • Max-Age
    • Max-Age和mod_expires为除Expires之外的选择,HTTP1.1引入Cache-COntrol头来克服Expires头的限制,因为Expires头使用一个特定的时间,要求服务器与客户端的时间严格同步,另外,过期日期需要经常检查,并且一旦未来到达这个时间,还要在服务器配置中提供一个新的日期。
    • Cache-COntrol使用Max-Age指令指定组件被缓存多久。以秒为单位定义了一个更新窗。如果组件被请求开始过去的秒数少于max-age,浏览器就使用缓存的版本。
Cache-COntrol:max-age=10000000
  • Max-Age与Expires头可同时指定,HTTP规范规定Max-Age指令将重写Expires头。
  • mod_expires
    • 为了避免Expires的时间同步问题,可使用mod_expires模块,它可以使Expires头设置的时间成为相对时间。
    • 即使用ExpiresDefault设置Expires头

4、压缩组件

  • 从HTTP1.1开始,web客户端可以通过HTTP请求中的Accept-Encoding头来表示对压缩的支持。
Accept-Encoding:gzip,deflate
  • web服务器通过响应中的Content-Encoding头来通知web客户端。
Content-Encoding:gzip
  • 注意

    • 通常压缩脚本以及样式表。
    • 图片和pdf不应该被压缩。因为他们本身就是压缩的。再次压缩可能会让其变大
    • 通常对大于1KB或2KB的文件进行压缩。mod_gzip_minimum_file_size指令控制着希望压缩文件的最小值,默认500B。
  • Apache版本对应

    • Apache1.3--mod_gzip常用指令
    //启用
    mod_gzip_on  
    //包括哪些文件
    mod_gzip_item_include  file  \.js$
    mod_gzip_item_include  mime	 ^application/x-javascript$
    //不包括哪些文件
    mod_gzip_item_exclude  file  \.css$
    mod_gzip_item_exclude  mime	 ^text/css$
    //压缩过的内容自动保存在磁盘上,并在原始内容发生变化时更新压缩过的内容
    mod_gzip_can_negotiate
    mod_gzip_update_static
    
  • 代理缓存

//压缩的和未压缩的都会进行缓存,使用的时候相应使用
Vary:Accept-Encoding
  • 边缘情形

    即通过制定浏览器白名单

5、将样式表放在顶部

  • 使用@inport引入的样式表依然是最后下载。

6、将脚本放在底部

7、避免使用css表达式

8、使用外部js和css

9、减少DNS查找

10、精简js

  • 使用JSMin工具。

11、避免重定向

  • 重定向会使你的页面变慢

12、删除重复脚本

13、配置ETag

  • etag是web服务器和浏览器用于确认缓存有效性的一种机制。

14、使ajax可缓存

总结,总体来说这本书的推荐指数为??????。内容一般。。。

建设高性能网站的14种方法笔记

原文:https://www.cnblogs.com/xixiaoxi/p/12593592.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!