身在天朝還干程序員真是一件很無奈的事情,就算你自備了梯子,也不好使。
stackoverflow在天朝並沒有被河蟹,但是我在訪問的時候加載非常慢,實在受不了了,今天狠下心來探個究竟;
網頁=HTML文件+樣式表+Javascript腳本,瀏覽器在顯示網頁時需要這些材料,那么決定網頁加載速度最大的就是獲取這些材料的速度了。
打開Chrome瀏覽器,隨便搜索一個問題,答案在stackoverflow上的,按下Shift+Ctrl+I組合鍵,出來如下界面
在網頁加載的時刻,打開network視圖,這時會顯示所訪問的網頁瀏覽器需要獲取的所有文件的詳細信息。
我們可以看到每個文件的大小,開始獲取的時間,狀態,獲取結束的時間。
紅色的部分是加載失敗的文件,令人發指的30s過后瀏覽器放棄了獲取該文件的嘗試,這時候我們就知道了導致網頁加載速度緩慢的元凶。
很不幸,stackoverflow的用戶頭像是來自www.gravatar.com,一個被天朝河蟹的網站。
原本stackoverflow可以在很短的時間內加載完成,呈現出來,由於瀏覽器顯示界面需要所有材料,我們白白等了數十秒才得以看到問題的答案。
如何解決?
如果你自備了梯子,可以將www.gravatar.com這樣的網址加入到梯子的列表里,或者說你可以通過避免加載圖像的方式來訪問stackoverflow。
實際上我所遇到的stackoverflow加載慢是因為該網站使用的樣式表來自於一個被和諧的網址,圖像的加載並不影響你閱讀網站的文本內容,但是樣式表決定了網站文本內容的呈現方式,這才是導致網站內容遲遲無法顯現的元凶。