網頁瀏覽加速

October 31st, 2006 by vgod | 瀏覽:7,845人次

剛看到網頁瀏覽加速法這篇文章,發現原來Firefox暗藏HTTP pipelining的選項,而且預設是關閉的..XD
所以一般使用者,其實只要在Firefox的網址列輸入about:config,再把network.http.pipelining設成True,就可以大幅提昇瀏覽網頁的速度。
既然Firefox可以加速,那Safari呢?很不幸的,Safari不支援HTTP pipelining (啊啊啊~ 怎麼會這樣…) 雖然得知這個消息有點可惜,但我也在搜尋過程中意外發現一個加速Safari的方法,只要在終端機(Terminal)下面輸入這個指令:

defaults write com.apple.Safari WebKitInitialTimedLayoutDelay 0.25

這個設定可以讓Safari在真正讀取完網頁前,只delay 0.25秒就把網頁顯示出來。因為這個設定的預設值本來是1秒,所以只要改了這個設定,就會感覺到Safari載入的速度變得飛快無比(非常明顯,比Firefox的HTTP pipeling還要爽XD)。

Safari愛用者,快快改變這個設定吧!

3 Responses to “網頁瀏覽加速”

  1. MyAvatars 0.2 網頁加速 « jclin::Wordpress Says:

    [...] 看到網頁瀏覽加速法和vgod的網頁瀏覽加速,我覺得 Mozilla 和 Firefox 的確可以有很多的設定來加速網頁下載的速度。但是依照之前的經驗來說,Safari 是用 Cocoa 的 NSURLConnection、NSURLRequest、NSURLResponse,因此這些系統內建的 framework 所提供的可調整設定似乎就已經固定,也無法更改。另外 Opera 平常用起來的速度蠻快的,其實他有點作弊的手法。在這個圖片中,是 Opera 原廠安裝後的設定,要仔細看的地方是在 “Check documents” 和 “Check images” 這兩個地方,一開始未更改的設定是 Every 5 hours。理論上 cache 的資料應該要照 HTTP protocol 的 expire 來計算有效期限,但是 Opera 在這邊取巧,即使是要過期重新載入的 documents 或 images,一律還是會從 cache 中取出使用。這樣會有什麼問題?當然就是過期的圖片還是會顯示舊的。簡單的例子從 railway.hinet.net 的訂票系統就可以看到,新的設計需要輸入圖形內的數字才能定掉,而且每次應該是不同的數字。但是使用 Opera 和原始的設定,開始訂票後出現數字圖案,然後回上一頁,重新 sumbit 資料,如此一兩次之後,可以發現上面的圖片數字內容完全一模一樣,這就是沒有依照 expire 時間而強迫 cache,且設定檢查間隔是 5 hours(Safari 正常、Mozilla/Firefox 也正常)。好處就是在瀏覽速度上會快很多,比如說上 tw.yahoo.com 這種很多”圖文”並茂的網頁,短期間內因為不用 check 而直接使用舊的資料,速度上幾乎就是馬上出現。解決上面訂票的方法,當然就是改成每次 always check 就可以正常運作。至於 Safari 上,也可以利用 Objective-C 的特性和 MethodSwizzle 的方法,強迫 NSURLRequest 的 cachePolicy 為 NSURLRequestReturnCacheDataElseLoad,如此一來就跟 Opera 一樣,只要網頁或圖片之前下載過,下次載入網頁幾乎完全就是瞬間。但是這樣問題就跟 Opera 一樣,某些有 expire mechanism 的網頁或圖片就是沒有更新。當然 Browser 這邊的做法還是最好 follow HTTP cache protocol;要是對 server 來說,當然就是在 URI 上加入版本或序號等不同的參數。 [...]

  2. MyAvatars 0.2 ns Says:

    真的加快了耶!謝謝你的資料~~^_^

    - 回覆留言(Reply)

  3. MyAvatars 0.2 HOW’s SketchBook » Blog Archive » 火狐狸快點,不要烏龜了… Says:

    [...] 繼續挖下去,發現對於有時候讀巨大點網頁會lag很嚴重的Mac Safari也有加速大法,出自〈vgod’s blog〉的加速大法。 [...]

Leave a Reply