程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Web前端優化最佳實踐之Server篇

Web前端優化最佳實踐之Server篇

編輯:關於.NET

Web 前端優化最佳實踐第二部分面向 Server 。目前共計有 6 條實踐規則。【注,這最多算技術筆記,查看最原始內容,還請訪問:Exceptional Performance : Best Practices for Speeding Up Your Web Site 】

1. 使用 CDN (Use a Content Delivery Network)

國內 CDN 的普及還不夠。不過我們有獨特的電信、網通之間的問題,如果針對這個作優化,基本上也算能收到 CDN 或類似的效果吧(假裝如此)。【Tin 說國內 CDN 用的挺多,看看 CDN 廠商的市場就知道了,還沒走入尋常百姓家】

2. 添加 Expires 或 Cache-Control 信息頭 (Add an Expires or a Cache-Control Header)各個浏覽器都有針對的方案, Apache 例子【注意:下面的說明例子還不夠精細,具體的環境上還要加一些調整】:ExpiresActive On
ExpiresByType image/gif "modification plus 1 weeks"

Lighttpd 啟用 mod_expire 模塊 後:

$HTTP["url"] =~ "\.(jpg|gif|png)$" {
   expire.url = ( "" => "access 1 years" )
}

Nginx 例子參考:

location ~* \.(jpg|gif|png)$ {
 if (-f $request_filename) {
    expires   max;
  break;
 }    
}
3. 壓縮內容 (Gzip Components)

對於絕大多數站點,這都是必要的一步,能有效減輕網絡流量壓力。或許有人擔心對 CPU 壓縮對於 CPU 的影響,放心大膽的整吧,沒事兒。Nginx 例子:

gzip      on;
gzip_types   text/plain text/html text/css ext/javascript;

另外參見:

IIS 如何啟用 Gzip 壓縮? 4. 設置 Etags (Configure ETags)

對於 Etag,可能是多數網站維護者都會忽略的地方。在這一系列優化規則出現之前,可能互聯網上絕大多數站點都對這個問題忽略了。當然,Etag 對多數站點性能的影響並不是很大。除非是面向 RSS 的網站。【看到有朋友批評說寫的簡略,並且說 IE 不支持 ETag。明確說一下:IE 支持 ETag,倒是使用 IIS 要注意相關 Etag Bug。】

補充:我的意思是"很多網站在不注意的情況下都是打開 Etag 的,而沒有網站關心如何用,消耗資源而不知。並不是說 Etag 不好,合理利用 Etag ,絕對能取得很好的收益.

5. 盡早刷新 Buffer (Flush the Buffer Early)

對這一條,琢磨了半天,貌似還是異步的思路。能更好的提升用戶體驗?

6. 對 AJAX 請求使用 GET 方法 (Use GET for AJAX Requests)

XMLHttpRequest POST 要兩步,而 GET 只需要一步。但要注意的是在 IE 上 GET 最大能處理的 URL 長度是 2K。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved