網站性能優化

雖然網站優化在這個話題有點大,我只能從本身的一些理解分享一些本身對於網站優化的意見。
javascript

一:css

首先,咱們在優化網站以前咱們要搞清楚咱們的一個基本的上網流程。html

上網的過程無論多麼複雜,我總結無非就是兩端一線,客戶端、服務器端、還有就是網絡路由。java

客服端:web

       一、當咱們在瀏覽器輸入網址並回車後,若是你是第一次訪問這個網址例如www.kscenery.com  。你的瀏覽器並不知道這個網站的IP,因此第一次請求時發向DNS服務器,進行DNS解析,那什麼什麼事DNS解析呢?編程

(腦補一下:DNS解析就是爲了方便人們很好地記憶網址,而不是主機IP地址,將IP地址與域名之間一一對應起來,親你訪問了網址,實際上你的網址是經過了域名解析這個行爲來找到的主機IP,so咱們上網首先要通過專門的DNS服務器來幫助你完成!)瀏覽器

        二、DNS服務器查詢到該網址對應的IP後,再給你發回,而後瀏覽器根據IP地址向www.kscenery.com  對應的web服務器發送請求。(客服端的第一步算完了,來看看服務器端)服務器

服務器端:網絡

        一、首先在服務器端有一個監聽請求的東東,那是什麼呢?是Socket!socket

{這個網上有腦補,我找了一些看你可否理解:他會根據socket.Accept()當即建立一個socket負責與發送請求的瀏覽器進行通訊,瀏覽器原本就是用socket與服務器通訊的,所以瀏覽也就是一個socket(說白了就是客服端與瀏覽器通訊用的。Socket接口是TCP/IP網絡的API應用程存編程接口),由於監聽請求的的socket佔用一個線程,所以咱們也建立另外一個線程專門處理客戶端瀏覽器的請求。},

負責監聽請求的Sockets發現有請求到達,

        二、若是發現請求的是靜態頁面,我麼直接讀取靜態頁面頁面,並生成響應報文頭(text/html),經過socket發回給瀏覽器;若是請求的是圖片的話,生成響應報文頭(image/jpeg),和圖片內容一塊兒發回給客戶端,像css,js之類的都是基本同樣的處理方式;

            若是發送來的請求是動態頁面,那服務器該怎麼處理請求呢?他會先先處理網頁的骨架和渲染,而後再html和css都加載完了纔去處理js的行爲。這也是爲何咱們通常將script放在/body以後。在這期間瀏覽器會與服務器就行屢次的交互。也就是處理完畢後將處理完的結果交給socket,由socket 發回給瀏覽器。

二:

當咱們對這個流程有所瞭解後,就能夠更好的理解一些優化的措施

一、固然首先想加快頁面的加載,增長網速呀什麼的也是灰常重要的,不過對於前段的童鞋來講就不討論了~~

二、仔細想一想,咱們想要衝前段的角度來加快頁面,減小請求的發送,使瀏覽器與服務器減小沒必要要的交互不失爲一個好的辦法。

(1)合併css文件、javascript文件

(2)圖片能夠用一張大圖一次性上傳,使用圖片切割

(3)css中儘可能不使用通配符選擇器(它會使重繪增多,加劇css渲染)

(4)實用工具將css、js中的文件壓縮

(5)編碼是增長js代碼的耦合度,減小代碼量

(6)圖片也能夠經過專業工具進行壓縮,能用JPG不要用PNG

(7)在數據交互時減小304重定向的狀況

ok!自我小小終結了一下下,要是有錯請幫忙果斷提出,

相關文章
相關標籤/搜索