<code id="6mcsu"></code>
<li id="6mcsu"></li>
<li id="6mcsu"><dl id="6mcsu"></dl></li>
  • <code id="6mcsu"><tr id="6mcsu"></tr></code>
    或者

    網(wǎng)站頁面精簡(jiǎn)的10個(gè)優(yōu)化技巧

    作者:數(shù)風(fēng)流人物 瀏覽:149 發(fā)布時(shí)間:2017-05-10
    分享 評(píng)論 0

    據(jù)調(diào)查,網(wǎng)頁大小在2013年平均增長(zhǎng)了32%,平均達(dá)到了1.7M,單獨(dú)的HTTP請(qǐng)求達(dá)到96個(gè),說實(shí)話,這是一個(gè)令人震驚的數(shù)字,而且這只是個(gè)平均值,有一半的網(wǎng)站會(huì)大于這個(gè)值。

    那么,一個(gè)“頁面超重”的網(wǎng)站有什么影響呢?具體來說,有以下4點(diǎn):

    ①、網(wǎng)站代碼越多,用戶下載的就越多,加載速度就會(huì)越慢。在國(guó)內(nèi),并不是每個(gè)人都能享受20M的寬帶,每一個(gè)開發(fā)者心里都很清楚,用戶不愿意等。

    ②、眾所周知,移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速,對(duì)于2G網(wǎng)絡(luò)來說,加載1.7M的頁面甚至需要一分鐘時(shí)間。

    ③、影響搜索引擎抓取速度將會(huì)對(duì)網(wǎng)站排名造成很大影響。

    ④、對(duì)于開發(fā)者來說,代碼量越大,就越不容易更新和維護(hù)。

    如今已經(jīng)有很多人開始關(guān)注這個(gè)問題,并出現(xiàn)了很多優(yōu)化的工具,而且這些技術(shù)都非常容易上手,不需要花太多時(shí)間,也不需要重新開發(fā)。

    在本文中,馬海祥會(huì)給大家一些建議,雖說前三個(gè)建議實(shí)際上不能給“網(wǎng)頁減肥”,但它們?nèi)阅苡行У募涌炀W(wǎng)頁加載速度。

    1、用GZIP格式壓縮

    gzip是GNUzip的縮寫,它是一個(gè)GNU自由軟件的文件壓縮程序。它是Jean-loupGailly和MarkAdler一起開發(fā)的,第一次公開發(fā)布版本是1992年10月31日發(fā)布的版本0.1,1993年2月發(fā)布了版本1.0。

    我們?cè)贚inux中經(jīng)常會(huì)用到后綴為.gz的文件,它們就是GZIP格式的,現(xiàn)今已經(jīng)成為Internet上使用非常普遍的一種數(shù)據(jù)壓縮格式,或者說一種文件格式。

    HTTP協(xié)議上的GZIP編碼是一種用來改進(jìn)WEB應(yīng)用程序性能的技術(shù),大流量的WEB站點(diǎn)常常使用GZIP壓縮技術(shù)來讓用戶感受更快的速度。

    這一般是指WWW服務(wù)器中安裝的一個(gè)功能,當(dāng)有人來訪問這個(gè)服務(wù)器中的網(wǎng)站時(shí),服務(wù)器中的這個(gè)功能就將網(wǎng)頁內(nèi)容壓縮后傳輸?shù)絹碓L的電腦瀏覽器中顯示出來。

    一般對(duì)純文本內(nèi)容可壓縮到原大小的40%,這樣傳輸就快了,效果就是你點(diǎn)擊網(wǎng)址后會(huì)很快的顯示出來,當(dāng)然這也會(huì)增加服務(wù)器的負(fù)載,一般服務(wù)器中都安裝有這個(gè)功能模塊的。

    根據(jù)W3C組織調(diào)查,大部分的網(wǎng)站都沒有啟用壓縮功能。

    2、支持瀏覽器緩存

    如果瀏覽器支持緩存,我們就不用重復(fù)下載網(wǎng)頁資源,最簡(jiǎn)單的設(shè)置緩存方法是在響應(yīng)頭中添加相應(yīng)的內(nèi)容,包括:Expires header,Last-Modified等。

    你可以可以通過配置服務(wù)器來自動(dòng)添加這些屬性,比如你在Apache服務(wù)器中配置緩存所有的照片一個(gè)月:

    <IfModule mod_expires.c>

      ExpiresActive On

      <FilesMatch "\.(jpg|jpeg|png|gif|svg)$">

      ExpiresDefault "access plus 1 month"

      </FilesMatch>

      </IfModule>

    3、使用內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN)

    CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是通過在現(xiàn)有的Internet中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)“邊緣”,使用戶可以就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的響應(yīng)速度。

    CDN有別于鏡像,因?yàn)樗如R像更智能,或者可以做這樣一個(gè)比喻:CDN=更智能的鏡像+緩存+流量導(dǎo)流。

    因而,CDN可以明顯提高Internet網(wǎng)絡(luò)中信息流動(dòng)的效率,從技術(shù)上全面解決由于網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均等問題,提高用戶訪問網(wǎng)站的響應(yīng)速度。

    為更好地理解CDN,讓我們看一下CDN的工作流程,當(dāng)用戶訪問已經(jīng)加入CDN服務(wù)的網(wǎng)站時(shí),首先通過DNS重定向技術(shù)確定最接近用戶的最佳CDN節(jié)點(diǎn),同時(shí)將用戶的請(qǐng)求指向該節(jié)點(diǎn)。

    當(dāng)用戶的請(qǐng)求到達(dá)指定節(jié)點(diǎn)時(shí),CDN的服務(wù)器(節(jié)點(diǎn)上的高速緩存)負(fù)責(zé)將用戶請(qǐng)求的內(nèi)容提供給用戶。

    具體流程為: 用戶在自己的瀏覽器中輸入要訪問的網(wǎng)站的域名,瀏覽器向本地DNS請(qǐng)求對(duì)該域名的解析,本地DNS將請(qǐng)求發(fā)到網(wǎng)站的主DNS,主DNS根據(jù)一系列的策略確定當(dāng)時(shí)最適當(dāng)?shù)腃DN節(jié)點(diǎn),并將解析的結(jié)果(IP地址)發(fā)給用戶,用戶向給定的CDN節(jié)點(diǎn)請(qǐng)求相&mdash;&mdash;應(yīng)網(wǎng)站的內(nèi)容。

    以上三個(gè)方法可以有效地加快頁面的訪問速度,現(xiàn)在我們將對(duì)你的代碼進(jìn)行診斷,幫助我們給頁面減肥。

    4、刪除不需要的資源

    當(dāng)你不再需要一個(gè)組件的時(shí)候,你應(yīng)該刪掉它的CSS和JavaScript代碼,如果這些代碼都單獨(dú)放在一個(gè)文件中,那刪掉它們也不是難事,但如果已經(jīng)沒有用的代碼和其它代碼在一個(gè)文件中,那你肯定要費(fèi)不少精力去刪掉它們。

    這個(gè)時(shí)候你就需要使用第三方的工具來幫你一鍵解決,比如JSLint,Dust-Me Selectors,CSS Usage或是像grunt-uncss一樣的構(gòu)建工具。

    5、style和font重復(fù)定義的沉余代碼

    要充分利用好CSS代碼定義自己的顏色大小等,有些網(wǎng)站既用了CSS代碼定義了之后又去使用style或者是font這樣的代碼進(jìn)行定義,這樣就無形中增加了無用代碼,容易造成代碼冗余,因此我們要對(duì)這樣的代碼進(jìn)行壓縮,實(shí)現(xiàn)代碼精簡(jiǎn)。

    6、通用和最小化CSS

    理想情況下,需要一個(gè)單獨(dú)的CSS文件,讓每個(gè)頁面都調(diào)用這一個(gè)布局,當(dāng)然,如果你想要支持老版本的IE,你就得多弄一個(gè)CSS文件。

    另外,馬海祥還要提醒大家一點(diǎn):當(dāng)你把它們構(gòu)建到服務(wù)器上之前,你應(yīng)該把代碼間所有不必要的格式都刪掉。

    有很多預(yù)處理工具都可以幫你解決這件麻煩事,比如Sass,LESS和Stylus。

    有一些方法可以幫助你直接合并多個(gè)CSS文件,在Windows上:

    copy file1.css+file2.css file.css

    在Mac或Linux上:

    cat file1.css file2.css > file.css

    你可以把得到的CSS文件再經(jīng)過在線的CSS壓縮工具刪除格式化。

    最后,在head標(biāo)簽中加載所有的CSS,這樣瀏覽器就知道你的頁面樣式不用多次重繪了。

    7、通用和最小化的JavaScript

    利用外部文件,我們可以用Javascript代碼和CSS代碼放在外部文件里面,在我們的HTML代碼里面加上調(diào)用代碼進(jìn)行調(diào)用即可,如果打開一個(gè)網(wǎng)站去檢查它的源文件,前面如果有大量的Javascript代碼和CSS代碼就容易使得網(wǎng)站有用的內(nèi)容文字部分推到后面去了,是不利于搜索引擎抓取的。

    據(jù)馬海祥博客收集的數(shù)據(jù)顯示:平均每個(gè)頁面加載了18個(gè)javascript文件,雖然把像jQuery這樣的庫(kù)文件單獨(dú)分開非常實(shí)用,但是你自己的JavaScript代碼應(yīng)該保持通用和最小化。

    同樣很多第三方的工具可以幫你解決這樣事情,比如YUI Compressor,Closure Compiler和我最喜歡用的The JavaScript CompressorRater,簡(jiǎn)化的JavaScript代碼會(huì)加快網(wǎng)頁的訪問速度,減少HTTP請(qǐng)求次數(shù)。

    最后,最好在HTML的body標(biāo)簽后放置JavaScript引用代碼,這樣能保證JavaScript代碼不影響到其它內(nèi)容的加載。

    8、減少頁面嵌套的表格

    對(duì)于表格要盡量少使用,尤其是嵌套的表格部分,雖然CSS排版使得我們編寫代碼更加的精簡(jiǎn)容易,但往往也是少不了表格的使用的,我們可以不去避免,但一定要減少使用多層嵌套的表格,不要產(chǎn)生沒有用的代碼。

    9、網(wǎng)站圖片的優(yōu)化

    對(duì)于一些圖片站來說,加載錯(cuò)誤的圖片格式會(huì)對(duì)你的網(wǎng)頁造成很大影響,所以,馬海祥建議圖片站的站長(zhǎng)一定要多對(duì)圖片做些優(yōu)化。

    (1)、圖片優(yōu)化原則

    一般來說選取圖片我們應(yīng)用遵循如下原則:

    ①、照片使用JPG格式。

    ②、其它所有的圖片都使用PNG格式。

    (2)、調(diào)整大圖的大小

    目前智能機(jī)所拍出的照片越來越大,你不可能把原照片直接展示在頁面中,普通的編輯器都會(huì)直接上傳原圖,這樣會(huì)讓頁面的加載速度慢到另一個(gè)級(jí)別,在正常的照片處理中,一般都沒有必要給用戶高質(zhì)量的圖片展示,所以,你需要一個(gè)自動(dòng)調(diào)整圖片大小的工具。

    需要注意的是,圖片的尺寸是不能超過容量的大小的,這樣一來頁面加載了全圖,卻無法展示出來,現(xiàn)在照片的尺寸基本上都超過電腦顯示屏的尺寸了。

    圖片的大小在網(wǎng)頁總大小中占很大的比重,圖片減小50%會(huì)導(dǎo)致整體頁面大小減少75%,所以你應(yīng)該認(rèn)真解決一下圖片的加載。

    (3)、進(jìn)一步壓縮圖片

    僅僅調(diào)優(yōu)圖片的大小是不夠的,你應(yīng)該通過第三方工具對(duì)圖片進(jìn)行分析,進(jìn)一步壓縮圖片。

    比較好用的工具有OptiPNG,PNGOUT,jpegtran和jpegoptim,這些工具大都能安裝成獨(dú)立的工具或是整合到開發(fā)過程中,另外像Smush這樣的工具,還可以直接在云端處理。

    10、刪除不必要的字體和注釋

    Web fonts已經(jīng)徹底改變了字體的設(shè)計(jì),它減少了很多不必要的文本,然而,目前的字體仍然會(huì)給你的網(wǎng)頁帶來多余的字節(jié)。

    如果你使用超過兩種字體,這就已經(jīng)開始對(duì)性能造成影響了。

    網(wǎng)頁代碼盡量少用注釋,我們知道一段程序里面加上注釋能夠便于我們快速找到和理解具體代碼對(duì)應(yīng)的功能,對(duì)于編程人員修改網(wǎng)頁是有幫助的,但是這樣的代碼對(duì)于搜索引擎來說是沒有任何的意義的,只能說是噪聲,因此我們要減少網(wǎng)頁代碼里面出現(xiàn)的注釋部分。

    我相信大部分網(wǎng)站都可以通過以上的優(yōu)化減小大概30%-50%的重量,但是身為一個(gè)完美主義的開發(fā)者這是遠(yuǎn)遠(yuǎn)不夠的,我們?cè)诮酉聛淼南盗形恼轮袝?huì)繼續(xù)對(duì)網(wǎng)站瘦身進(jìn)行深入研究。



    国产精品无码久久综合| 亚洲AV无码乱码在线观看| 亚洲av无码乱码在线观看野外| 中文字幕无码av激情不卡久久| 日韩经典精品无码一区| 无码国产精成人午夜视频一区二区 | 久久亚洲精品无码aⅴ大香| 国偷自产短视频中文版| 国产在线无码不卡影视影院| 国产aⅴ激情无码久久| 中文字幕手机在线视频| 亚洲一级特黄大片无码毛片 | 无码国产乱人伦偷精品视频| 亚洲国产人成中文幕一级二级| 中文在线资源天堂WWW| 国产高清无码毛片| 日韩亚洲AV无码一区二区不卡| 寂寞少妇做spa按摩无码| 亚洲欧美成人久久综合中文网| 熟妇人妻中文字幕| 一区二区三区无码高清| 国产精品无码DVD在线观看| 国产精品无码日韩欧| 少妇人妻无码专区视频| 亚洲A∨无码无在线观看| 亚洲日韩精品无码一区二区三区 | 亚洲成A人片在线观看无码不卡| 中文无码精品一区二区三区| 线中文在线资源 官网| 中文字幕在线观看国产| 亚洲中文字幕无码专区| 中文字幕永久一区二区三区在线观看| 无码国产精品一区二区免费16| 惠民福利中文字幕人妻无码乱精品 | 免费无码VA一区二区三区| 色噜噜综合亚洲av中文无码 | 无码一区二区三区免费| 无码少妇一区二区| 国产在线无码不卡影视影院| 精品人妻无码专区中文字幕| 亚洲Av无码乱码在线znlu|