對(duì)于絕大部分人來說,要獲得一臺(tái)高性能的電腦和一條穩(wěn)定的寬帶接入線路并不是太困難的事情,但是即使我們使用高速的光纖接入線路,但網(wǎng)上沖浪的速度也并不會(huì)比此前ADSL撥號(hào)快多少,這是因?yàn)樵谖覀兊木W(wǎng)絡(luò)帶寬越來越高的同時(shí),網(wǎng)站也變得更加復(fù)雜,而且由于相關(guān)的互聯(lián)網(wǎng)技術(shù)未能及時(shí)更新,所以網(wǎng)上沖浪時(shí)根本無法發(fā)揮接入線路升級(jí)所帶來的優(yōu)勢(shì)。不過,通過一些簡(jiǎn)單的技巧,我們?nèi)匀荒軌蜃尀g覽器更快地下載并顯示網(wǎng)頁。下面,CHIP將會(huì)告訴大家如何利用這些技巧,盡可能地提升網(wǎng)上沖浪的速度。
當(dāng)我們?cè)跒g覽器地址欄中輸入一個(gè)地址或者點(diǎn)擊一個(gè)鏈接時(shí),它首先將會(huì)被翻譯成IP地址,然后瀏覽器將建立一個(gè)TCP/IP連接并發(fā)送HTTP請(qǐng)求到Web服務(wù)器,在獲得響應(yīng)后完成數(shù)據(jù)的渲染和顯示。在默認(rèn)的情況下,幾乎所有的瀏覽器都是這樣工作的,下面,CHIP將告訴大家可以在哪一個(gè)環(huán)節(jié)進(jìn)行適當(dāng)?shù)母深A(yù),盡可能地提高速度。我們將通過設(shè)置選項(xiàng)最豐富的Mozilla Firefox瀏覽器進(jìn)行介紹,大家可以嘗試在微軟的Internet Explorer、Edge和Google Chrome瀏覽器下查找相應(yīng)的設(shè)置選項(xiàng)。
1、選擇DNS服務(wù)器
互聯(lián)網(wǎng)接入服務(wù)提供商通常只是宣傳所提供的接入線路數(shù)據(jù)傳輸速率有多高,但其他的問題很少說明。實(shí)際上,對(duì)于網(wǎng)上沖浪來說,一項(xiàng)不怎么被注意的服務(wù)將產(chǎn)生很大的影響,那就是域名系統(tǒng)服務(wù)器(Domain Name System,縮寫DNS),該服務(wù)器負(fù)責(zé)將網(wǎng)站的域名解釋為網(wǎng)站主機(jī)的IP地址,因而在沖浪的過程中幾乎每一步我們都需要它,而且一個(gè)網(wǎng)頁有可能嵌入了幾十個(gè)其他網(wǎng)站的元素,這意味著打開一個(gè)網(wǎng)頁我們可能需要幾十次地查詢DNS,所以DNS的質(zhì)量對(duì)于我們的沖浪速度有很大影響。
互聯(lián)網(wǎng)接入服務(wù)商提供的DNS服務(wù)器并不總是最快的,對(duì)于國(guó)外的用戶來說,Google的DNS服務(wù)器被認(rèn)為是性能特別高的公共DNS服務(wù)器,此外,思科公司的OpenDNS也是一個(gè)不錯(cuò)的選擇,但是國(guó)內(nèi)用戶未必能夠使用這些DNS服務(wù)器,因而更適合我們的選擇是通過免費(fèi)的工具軟件“Domain Name Speed Benchmark”(grc.com/dns/benchmark.htm)分析和查找最適合自己的DNS服務(wù)器。啟動(dòng)軟件后在“Nameservers”選項(xiàng)卡上單擊“Run Benchmark”即可對(duì)軟件預(yù)設(shè)的一系列DNS服務(wù)器進(jìn)行分析。而在“Nameservers”選項(xiàng)卡上單擊“Add/Remove”,在彈出的對(duì)話框中單擊選擇“Rebuild Custom List”,再單擊“Rebuild Custom List”按鈕,軟件將花費(fèi)約30min的時(shí)間根據(jù)當(dāng)前的網(wǎng)絡(luò)線路查找相關(guān)的DNS服務(wù)器,創(chuàng)建自定義的服務(wù)器列表,然后我們可以重新在“Nameservers”選項(xiàng)卡上單擊“Run Benchmark”執(zhí)行分析,找到我們使用起來最快的DNS服務(wù)器。接下來,打開“控制面板|網(wǎng)絡(luò)和Internet|網(wǎng)絡(luò)和共享中心”,單擊“查看活動(dòng)網(wǎng)絡(luò)”下方當(dāng)前使用的網(wǎng)絡(luò)連接,即可打開顯示該連接狀況的對(duì)話框。單擊“屬性”,雙擊“Internet協(xié)議版本4(TCP/IPv4)”,選中“使用下面的DNS服務(wù)器地址”即可鍵入新的DNS服務(wù)器地址。
2、加快域名解釋
當(dāng)瀏覽器顯示一個(gè)帶有鏈接的頁面時(shí),它會(huì)在后臺(tái)啟動(dòng)DNS查詢這些鏈接的網(wǎng)址并緩存結(jié)果,這樣當(dāng)我們點(diǎn)擊鏈接時(shí)將可以不需要查詢DNS而直接連接服務(wù)器。這種“DNS預(yù)取”的機(jī)制在所有的瀏覽器中都存在,不過,應(yīng)用的方法和范圍不完全相同,通常也沒有為用戶提供自定義的選項(xiàng)。但是,在Firefox瀏覽器中我們可以進(jìn)行一些簡(jiǎn)單的配置,例如,設(shè)置允許對(duì)HTTPS頁面進(jìn)行“DNS預(yù)取”。默認(rèn)設(shè)置下瀏覽器不會(huì)對(duì)HTTPS加密的頁面進(jìn)行“DNS預(yù)取”,因?yàn)轭A(yù)取雖然能夠帶來一些便利,但也存在一些風(fēng)險(xiǎn),例如,垃圾郵件發(fā)送者可以通過在垃圾郵件中嵌入特定域名的鏈接,在用戶的瀏覽器進(jìn)行“DNS預(yù)取”時(shí)即可識(shí)別用戶的電子郵箱是否屬于一個(gè)活躍的用戶。
如果希望允許對(duì)HTTPS頁面進(jìn)行“DNS預(yù)取”,那么可以在Firefox瀏覽器地址欄輸入“about:config”,打開頁面并對(duì)安全警告進(jìn)行確認(rèn)。接下來,右鍵單擊選擇新建一個(gè)新的布爾值“network.dns.disablePrefetchFromHTTPS”,并將其設(shè)置為“false”。
3、保存DNS查詢結(jié)果更長(zhǎng)時(shí)間
由于瀏覽一個(gè)網(wǎng)站通常會(huì)頻繁訪問一個(gè)相同的服務(wù)器,因而,所有的瀏覽器都會(huì)存儲(chǔ)DNS查詢的結(jié)果,以便在需要時(shí)可以直接使用而不必重新查詢,但是保存的時(shí)間通常很短。在Firefox瀏覽器中,我們可以增加緩存大小和延長(zhǎng)保存的時(shí)間。在地址欄中輸入“about:config”進(jìn)入設(shè)置頁面,在搜索欄中輸入“dns”并在搜索結(jié)果中雙擊“network.dnsCacheEntries”,將其設(shè)置為“800”,再雙擊“network.dnsCacheExpiration”,將其設(shè)置為“3600”。以這種方式,我們可以按照自己的需要增加緩存的條目,并將緩存的時(shí)間從幾分鐘延長(zhǎng)到一個(gè)小時(shí)。但需要注意,如果我們需要訪問一些頻繁變更IP地址的網(wǎng)站,例如利用動(dòng)態(tài)IP地址接入互聯(lián)網(wǎng)的線路架設(shè)的網(wǎng)站,那么緩存DNS時(shí)間過長(zhǎng),很可能會(huì)導(dǎo)致DNS查詢結(jié)果沒有刷新而無法找到網(wǎng)站正確的IP地址,此時(shí),要適當(dāng)?shù)亟档汀癲nsCacheExpiration”值。
4、避免修改TCP設(shè)置
Windows XP時(shí)代,人們使用ADSL需要通過修改操作系統(tǒng)的TCP設(shè)置來實(shí)現(xiàn)更快的數(shù)據(jù)傳輸,例如TCP接收數(shù)據(jù)的大小等,但是從Windows Vista開始,操作系統(tǒng)已經(jīng)能夠根據(jù)連接的情況自動(dòng)調(diào)整相關(guān)的數(shù)值,修改相關(guān)的設(shè)置很可能適得其反,因而,我們應(yīng)該忘記那些過時(shí)的技巧,避免修改TCP設(shè)置,無論是手動(dòng)還是使用相關(guān)的設(shè)置工具。
5、同時(shí)使用更多連接
同時(shí)使用更多的HTTP連接可以有助于瀏覽器并行下載更多的內(nèi)容。在Internet Explorer中可以同時(shí)使用2個(gè)連接,GoogleChrome中可以同時(shí)使用6個(gè)連接,這些都是固定的,但在Firefox瀏覽器中我們可以修改這一數(shù)值。輸入“about:config”進(jìn)入設(shè)置頁面,設(shè)置最大連接值“network.http.max-connections”為“400”和每一個(gè)服務(wù)器的最大連接值“network.http.max-connections-per-server”為“16”。設(shè)置完成后訪問幾個(gè)網(wǎng)站進(jìn)行測(cè)試,如果出現(xiàn)網(wǎng)絡(luò)服務(wù)器拒絕連接的問題,則可以適當(dāng)降低“network.http.max-connections-per-server”的值。
6、減少流水線等待時(shí)間
通常,瀏覽器只有在完成上一個(gè)請(qǐng)求之后才會(huì)向服務(wù)器發(fā)出另一個(gè)請(qǐng)求,但由于HTTP 1.1可以陸續(xù)發(fā)送幾個(gè)請(qǐng)求而無需考慮應(yīng)答的問題,所以在Firefox中可以使用這種“流水線”功能提高速度,不過,默認(rèn)情況下該功能是禁用的。輸入“about:config”進(jìn)入設(shè)置頁面,在搜索欄中輸入“Pipelining”,雙擊“network.http.pipelining”,設(shè)置值為“true”。在我們的測(cè)試中,訪問各種熱門網(wǎng)站這樣設(shè)置沒有什么問題,但是一些過時(shí)的Web服務(wù)器可能不適合使用這樣的設(shè)置。為此,如果有必要的話我們可以創(chuàng)建另一個(gè)用戶配置文件(參考本文“相關(guān)信息”中的介紹),并保持該設(shè)置值不變。
7、通過網(wǎng)頁預(yù)讀取加速
Firefox擴(kuò)展程序Fasterfox能夠比我們前面介紹的DNS預(yù)取更進(jìn)一步:它可以在后臺(tái)讀取我們?yōu)g覽的網(wǎng)頁,并對(duì)網(wǎng)頁中鏈接的網(wǎng)頁進(jìn)行預(yù)讀。這樣當(dāng)我們點(diǎn)擊鏈接時(shí),目標(biāo)網(wǎng)頁已經(jīng)在緩存之中,可以馬上顯示。我們可以通過“https://addons.mozilla.org/en-US/firefox/addon/rsccmanfasterfox/”安裝該擴(kuò)展程序,并通過點(diǎn)擊Firefox菜單的“附加組件”,在“擴(kuò)展”中點(diǎn)擊Fasterfox的“選項(xiàng)”按鈕進(jìn)行配置,在打開的對(duì)話框中單擊切換到“Fasterfox”選項(xiàng)卡,選中“啟用增強(qiáng)預(yù)讀取”。需要注意的是,這種網(wǎng)頁預(yù)讀取的技術(shù)必然極大地增加數(shù)據(jù)流量,開啟前需要謹(jǐn)慎考慮是否會(huì)有什么問題,特別是在企業(yè)網(wǎng)絡(luò)或者多位家庭成員共享的家庭網(wǎng)絡(luò)使用時(shí)需要特別注意,更不適合用于通過流量計(jì)費(fèi)的互聯(lián)網(wǎng)接入環(huán)境。
8、回收緩存數(shù)據(jù)
在我們?yōu)g覽的過程中,一個(gè)網(wǎng)站的許多標(biāo)志和圖標(biāo)都是相同的,它們頻繁地出現(xiàn)在同一個(gè)網(wǎng)站的不同頁面,為了避免總是下載重復(fù)的文件,所有的瀏覽器都會(huì)將近期下載的數(shù)據(jù)緩存起來,以便在需要時(shí)直接加載。一般的電腦通常瀏覽器默認(rèn)設(shè)置的緩存已經(jīng)能夠滿足這一應(yīng)用需求,而且在Firefox中還可以自動(dòng)地調(diào)整緩存的大小,例如,在電腦有4GB或以上的內(nèi)存時(shí),F(xiàn)irefox將自動(dòng)地增加內(nèi)存緩存的大小。
不過,如果我們確實(shí)有非常多的內(nèi)存,那么瀏覽器64MB的內(nèi)存緩存會(huì)顯得仍然有點(diǎn)小,可以輸入“about:config”進(jìn)入設(shè)置頁面,將內(nèi)存緩存大小的設(shè)置項(xiàng)“browser.cache.memory.capacity”設(shè)置為“131072”。此外,除了內(nèi)存緩存,瀏覽器還在硬盤上設(shè)有硬盤緩存,硬盤緩存的管理相當(dāng)復(fù)雜,最佳設(shè)置取決于以下條件:如果我們有一條接近專線的快速互聯(lián)網(wǎng)接入線路,打開網(wǎng)站幾乎馬上就出現(xiàn),那么我們應(yīng)該停用硬盤緩存(“about:config|browser.cache.disk.enable = FALSE”),因?yàn)闉g覽器從硬盤緩存中獲取數(shù)據(jù)的速度比從網(wǎng)上獲取數(shù)據(jù)更慢。而如果互聯(lián)網(wǎng)連接速度僅有5Mb/s或者更慢,那么保留硬盤緩存是一個(gè)正確的選擇。如果雖然互聯(lián)網(wǎng)接入線路比較慢但使用的是快速的固態(tài)硬盤,那么可以嘗試將“browser.cache.disk.capacity”設(shè)置為“153600”,測(cè)試加大硬盤緩存是否能夠?qū)χ貜?fù)訪問一個(gè)網(wǎng)站有幫助。需要注意,硬盤緩存永遠(yuǎn)不要設(shè)置得太大,因?yàn)闉g覽器需要檢索緩存從中獲取數(shù)據(jù),緩存太大很可能適得其反。
9、阻止跟蹤和廣告
廣告和相關(guān)的跟蹤技術(shù)影響網(wǎng)頁的加載速度,為此,阻止跟蹤和廣告可以有效地提高沖浪速度,對(duì)于商業(yè)網(wǎng)站的效果最為明顯,加載速度可以快兩倍?;旧显跒g覽器上安裝Adblocker擴(kuò)展程序,并設(shè)置使用適合本地區(qū)的過濾列表之后,用戶對(duì)于速度的提升都有明顯的感覺。通過瀏覽器擴(kuò)展程序網(wǎng)站或者“adblockplus.org”安裝Adblocker,安裝之后在瀏覽器上打開Adblocker的設(shè)置選項(xiàng)頁面,設(shè)置啟用“EasyList China+EasyList”過濾列表(部分地區(qū)訪問更新列表的網(wǎng)站可能有困難),設(shè)置完成后打開經(jīng)常訪問的網(wǎng)站,如果網(wǎng)站上原來的廣告比較多,那么我們馬上就能夠體驗(yàn)到速度的變化。
10、加快顯示速度
一旦內(nèi)容已經(jīng)下載到瀏覽器,接下來必須保證瀏覽器能夠盡快渲染和顯示。Firefox可以一次處理多個(gè)網(wǎng)頁元素,默認(rèn)設(shè)置下,它將等待250ms的時(shí)間開始顯示頁面內(nèi)容。如果降低等待的時(shí)間(“about:config|nglayout.initialpaint.delay”的值從250修改到50),那么通常頁面顯示的速度會(huì)更流暢一些,因?yàn)轫撁嫔系脑啬軌蚋斓仫@示出來。不過,我們也嘗試過將該值降低到0,但這并沒有發(fā)現(xiàn)進(jìn)一步加速的效果。
在很多網(wǎng)頁上JavaScript是導(dǎo)致頁面顯示速度緩慢的罪魁禍?zhǔn)?,但是如果我們使用NoScript之類的擴(kuò)展程序阻止它們,那么一些網(wǎng)站可能會(huì)無法顯示某些內(nèi)容,甚至有一些網(wǎng)站干脆無法正常顯示和工作。為此,如果希望使用NoScript,那么我們需要逐一地對(duì)我們經(jīng)常訪問的網(wǎng)站進(jìn)行測(cè)試,先設(shè)置阻止這個(gè)網(wǎng)站上所有的JavaScript,然后檢查網(wǎng)站上顯示的內(nèi)容是否正常,應(yīng)用功能是否仍然可以使用。