浏览器的加载与页面性能优化

本文将探讨浏览器渲染的loading过程,主要有2个目的:

  • 了解浏览器在loading过程中的实现细节,具体都做了什么
  • 研究如何根据浏览器的实现原理进行优化,提升页面响应速度

由于loading和parsing是相互交织、错综复杂的,这里面有大量的知识点,为了避免过于发散本文将不会对每个细节都深入研究,而是将重点放在开发中容易控制的部分(Web前端和Web Server),同时由于浏览器种类繁多且不同版本间差距很大,本文将侧重一些较新的浏览器特性

现有知识

提升页面性能方面已经有很多前人的优秀经验了,如Best Practices for Speeding Up Your Web SiteWeb Performance Best Practices

本文主要专注其中加载部分的优化,总结起来主要有以下几点: Continue reading

SEO URL的优化方案【转】

针对搜索引擎优化(SEO),页面URL的布局与呈现是影响排名和网站索引率的重要因素之一。对于搜索引擎而言,URL是它们找到一个网页的入口,URL的好坏会直接影响搜索引擎对一个网站的索引及理解程度。对于用户,URL会直接显示在搜索结果中,从而影响人们的点击意愿。因此一个好的URL结构无论是对搜索引擎,还是用户,都有着非常重要的作用。在本文中,我们将详细探讨针对SEO的URL优化技巧,但同时也想提醒大家,对于一个现有的网站,URL的改动需要谨慎。URL的改动会牵扯到原有URL权重的转移等问题,因此除非在万不得已的情况下,尽量不要改动现有的URL。但如果你是在策划一个新的网站或者生成新的页面,那么就让我们来探讨一下如何得到一个完美的URL吧。
1. URL愈短愈好
无论是搜索引擎,还是浏览者,都喜欢简短的URL。URL的层级不宜过多,尽量控制在4级之内。虽然搜索引擎仍然会抓取四级之后的页面,但页面的权重会大大降低。 Continue reading

Apache 网站访问速度提升优化

Yahoo 开 发者网站上,Yahoo 提出了优 化网站性能的N条规则(Best Practices for Speeding Up Your Web Site)。这些规则是:

1. 尽可能的减少 HTTP 的请求数(Minimize HTTP Requests) —— Tag: content

2. 使用 CDN(Use a Content Delivery Network) —— Tag: server

3. 添加 Expires 头(或者 Cache-control ) (Add an Expires or a Cache-Control Header) —— Tag: server

4. Gzip 组件(Gzip Components) —— Tag: server

5. 将 CSS 样式放在页面的上方 (Put Stylesheets at the Top) —— Tag: css

6. 将脚本移动到底部(包括内联的)(Put Scripts at the Bottom) —— Tag: javascript Continue reading

Apache Cache Last-Modified、Expires和Etag相关工作原理

使用ETag和Expires调优web 服务器性能

正确使用Etag和Expires标识处理,可以使得页面更加有效被Cache。

在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下: Continue reading

把不带前缀的域名转向到www.域名的Apache 301转向配置样例

各种不同的域名地址对于搜索引擎的除重(deduplication)来说是一个负担,有没有”/”和首页的文件连接,一个域名首页就可以有6个地址:
www.haohtml.com/
haohtml.com/
www.haohtml.com
haohtml.com
www.haohtml.com/index.php
haohtml.com/index.php

如果加上一些参数,比如用于来源跟踪等还会有更多无穷无尽的地址。
www.haohtml.com/?source=foobar

所以搜索引擎鼓励发布者把URL标准化(归一化)。首先就是域名的归一化,原先我的设置为: www.haohtml.com / haohtml.com为别名。现在改为haohtml.com 301转向到www.haohtml.com
<VirtualHost *:80>
ServerName haohtml.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.haohtml.com$1 [R=301,L]
</VirtualHost>

如果没有mod_rewrite也可以设置mod_alias:
RedirectMatch 301 ^(.*)$ http://www.haohtml.com