高性能网站建设指南

为了研究HTTP协议,我建议阅读David Gourley和Brian Totty所著的《 HTTP:权威指南》一书。
 
 
 
 
简介A
 
下载缓存的图像:默认情况下,图像的HTTP请求是有条件的GET请求。
例如:
...
如果修改时间自:格林威治标准时间2006年2月22日星期三04:15:54
 
Live HTTP Headers是用于显示HTTP请求信息的Firefox插件。
 
下载链接:https://addons.mozilla.org/zh-CN/firefox/addon/3829
官方地址:http://livehttpheaders.mozdev.org/installation.html
 
 
 
简介B
 
压缩:在HTTP请求中,可以使用压缩来减小响应的大小。
浏览器端:接受编码:gzip,放气
服务器端:内容编码:gzip
 
 
规则1 ------减少HTTP请求
程序:
 
一张照片卡
    <img usemap =“#myname” ....>
    <map name =“ myname”>
 
 
 
B CSS精灵
    示例:http://stevesouders.com/examples/sprites.php
 
 
 
线图C
内联图像是将单个图像的编码数据直接存储在URL本身中。 (需要在线编码技术)
 
格式:数据:[<mediatype>] [; base64],<数据>
 
例如:<img src =“数据:图片/ gif; base64,FNMSDAAAAA ......”
 
 
 
规则2 ------使用内容发布网络
 
 
内容分发网络(CDN):这是一组Web服务器,分布在许多不同的地理位置,以存储静态文件(在大多数情况下),以确保提高响应速度。
 
著名的CDN服务提供商包括:Akamai,Mirror Image,SAVVIS等。
 
 
规则3 ------添加Expires标头
 
 
 
<! -过期表示浏览器计算机缓存中网页的过期时间->
<meta http-equiv =“ expires” content =“ 1997年2月26日,星期三08:21:57 GMT”>
 
<! -使用具有max-age的cache-control来指定​​组件的缓存时间->
<meta http-equiv =“ cache-control” content =“最大年龄= 315360000”>
 
注意:
1. Cache-Control优先于Expires
2.为了确保在用户的浏览器中也更新了更新的组件(而不是使用缓存的组件),解决方案是更改所有需要更新的组件的文件名。要被更新。
 
 
规则4 ------压缩组件
 
 
客户端通过HTTP请求的Accept-Encoding标头识别压缩支持。
 
接受编码:gzip,放气
注意:
 
      推荐使用gzip(最受欢迎和最有效的)
 
      压缩对象:任何文本,例如HTML,CSS,JS,XML,JSON等。
 
      未压缩的对象:图像,PDF文件。 (它们已被压缩,重新压缩将消耗CPU资源,甚至会增加文件大小)
 
 
规则5 ------将CSS样式表放在顶部
 
将CSS样式表放在页面底部将阻止内容在浏览器中逐渐呈现。
原因:为了避免在样式更改时重新绘制页面元素,浏览器将阻止页面内容的渐进呈现,直到下载样式表为止。
 
将CSS样式表放在底部会降低渲染速度(而不是下载速度)。因此,我们应该将CSS放在顶部的<head>标记中。
 
有两种链接CSS样式表的方法:
方法1:<link rel =“ stylesheet” href =“ styles1.css”>
 
第二种方式:
<样式>
@import url(“ styles1.css”);
</ style>
 
注意:
  1. @import方法必须放在<style>标记的顶部。
  2.即使@import方法放在<head>标记中,它指定的样式表文件也始终是最后下载的样式表文件。
 
因此,不建议使用@import方法加载CSS样式表,建议使用<link>标记将CSS样式表放置在文档的<head>中。 。
 
 
规则6 ------将脚本放在底部
 
将脚本放在页面顶部:
-该脚本将阻止其后续组件的下载;
-该脚本将阻止其后内容的呈现;
 
 
示例:http://stevesouders.com/hpws/js-top.php
 
    <! -拦截代码->
    <html>
    <头>
    <! -使用脚本来调用相关代码并传递相关参数->
    <script src =“ / bin / sleep.cgi?type = js&sleep = 10&expires = -1&last = 0”> </ script>
    <title>顶部的脚本</ title>
 
最好将脚本从页面顶部移至底部(如果可能)。这样,可以逐步显示页面,并可以改善下载的并行性。
使用脚本时,将阻止JS脚本下所有内容的逐步呈现。
 
 
在L