網站效能最佳化(一)

來源:互聯網
上載者:User

標籤:響應   關聯   map   style   examples   顯示   cpe   伺服器   alt   

前段時間面試時,面試官問了一個問題:”網站效能最佳化有什麼方法”,我當時的第一反應就是減少圖片載入,把圖片直接轉成base64,然後直接寫到css中,這樣能減少從後台拿資料的次數,然後我直接說出了我的想法。面試官問還有沒有其他方法,我就一臉茫然了。回來之後我趕快看了《高效能網站最佳化指南》,裡面介紹了不少有用的方法,有前端的也有後端,有些我們平時開發的時候一直在用,但是沒有覺得能提高網站的效能,有些就從來沒有想到過。下面我主要介紹一下這本書裡面的前端效能最佳化方法吧~

1.減少http請求

steve在書中說,網站載入時,很大的一部分時間都在載入各種資源,載入一個資源就要發一次http請求,這麼多個請求一起發出,伺服器端處理這麼多請求,效能自然就慢下來了。所以要提高網站效能,自然是要減少http請求的,如何減少http請求,有下面幾種方法。

(1)減少圖片資源的http請求

如果一張圖片就要發一次請求,那麼網頁片一多,請求的次數自然就增加了,如果把所有圖片集中在一塊,然後發送一次請求把所有的圖片都拿過來,這樣效能不就提高了嗎。書中介紹了三種減少方法。

a.圖片地圖

一般一張圖片會關聯一個超連結。圖片地圖可以在一個圖片上關聯多個URL,目標URL的選擇取決與使用者單擊了圖片的哪個位置。

例如,在一個地方有5個圖片,單擊一個圖片可以跳轉到相應的連結。這個可以通過5個分開的連結,使用5個分開的圖片來實現。也可以通過圖片地圖來實現,因為5個http請求減少為一個http請求,響應的時間會減少。

可以通過以下兩個例子來體驗一下效果:

無圖片地圖樣本:

http://stevesouders.com/hpws/imagemap-no.php 

有圖片地圖樣本:

http://stevesouders.com/hpws/imagemap.php

b. css sprites

css sprites和圖片地圖類似,只不過會更靈活。圖片地圖需要將圖片按順序排好在傳過來。而css sprites是把多個圖片合并到一個的單獨的圖片中, 就像一個充滿小圖片的顯示板,每個圖片都有自己對應的座標。所以不需要將圖片按順序排好,只需要將圖片加進去,然後找到圖片對應的座標就可以找到該圖片了。

css sprites 樣本:

http://stevesouders.com/examples/sprites.php 

c.內聯圖片

內聯圖片就是我面試是回答的那種方式,將圖片轉成base64,通過 data: URL嵌在css中,像下面這樣:

<IMG ALT="Red Star" src="data:image/gif;base64,f fBiYvww IvrKy/FvcPews09Wfaj0+w60/ AAsALAAAAAAMAAw?AAQzcEIZyrYTEHYTugknHd9XGV+qKSYirKkwDYiKDBia tt2HIKBLQRFIJAIKywRgmhw?11">

內聯樣式樣本:

http://stevesouders.com/examples/inline-css-images.php 

內聯圖片樣本:

http://stevesouders.com/examples/inline-images.php 

 

網站效能最佳化(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.