高性能网站建设读后总结(一)
一直苦恼于公司网站的反应速度,作为一个追求完美的人,我怎能只做手头的工作而对客户的用户体验莫不关心呢,今天开始开读《高性能网站建设指南》这本书,读了一章就让我忍不住要记下来。
性能黄金法则:
只有10%-20%的最终用户响应时间花在了下载HTML文档上。其余的80%-90%时间花在了下载页面中的所有组件上。
HTTP概述:(HTTP是什么包含什么我就不解释了)
压缩:
如果浏览器和服务器都支持的话,可以使用压缩来减小响应的大小。浏览器可以使用Accept-Encoding头来声明它支持压缩。服务器使用Content-Encoding头确认响应已被压缩。
条件GET请求:
如果浏览器在其缓存中保留组建的一个副本,但并不确定它是否仍然有效,就会生成一条GET请求。如果确认缓存的副本仍然有效的话就使用。
典型情况下,缓存副本的有效性源自其最后的修改时间。客户端传向服务器端的字段是If-Modified-since,而服务器端响应的字段是Last-Modified.如果组件生成日期没有改变就会返回“304 Not Modified”状态码并不再发送响应体。
Expires:
条件GET请求和304响应有助于让页面加载更快,但是仍然很麻烦。没有Expires方便,因为当浏览器看到响应中有一个Expires头时,就会把它和过期时间的组件一起保存起来,只要组件没有过期,浏览器就会用缓存中的版本,不进行任何HTTP请求。
Keep-Alive:
持久连接的引入解决了多对一请求服务器导致的socket连接抵消性的问题。虽说管道的性能优于持久连接,但在管道被广泛应用之前,Keep-Alive依然是浏览器和服务器使用Http的socket连接的最有效的方式。
?
?