欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

http1.1相對http2有什么缺點

這篇文章將為大家詳細講解有關(guān)http1.1相對http2有什么缺點,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在仁壽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),仁壽網(wǎng)站建設(shè)費用合理。

服務(wù)器搭建完成之后,我們在public文件夾新建一個頁面,這個頁面中的資源主要由圖片、css、js構(gòu)成,代碼如下:

http1.1相對http2有什么缺點

觀察html部分我們發(fā)現(xiàn),頁面設(shè)置了許多img標簽,此時我們訪問這個頁面,觀察瀏覽器的network,截圖如下:

http1.1相對http2有什么缺點

仔細觀察其規(guī)律,瀏覽器請求圖片資源時,最大并發(fā)數(shù)為6,這里要解釋一下,瀏覽器針對同一個域名的網(wǎng)站最大的tcp鏈接數(shù)是根據(jù)瀏覽器規(guī)定的,谷歌瀏覽器默認的針對同一個域名的最大tcp鏈接數(shù)是6,這樣的話頁面中所有的圖片資源,必須通過這6個tcp長連接來完成請求響應(yīng)。

這里有一個比較形象的比喻,假如有一百個人要往返跨過一條河,河面上有6座橋,每座橋每次只能有一個人通過,那么同一時刻最多只能6個人同時過河,不能再多了,http1.1協(xié)議下的請求響應(yīng)就是基于這個模型的。

在這里引入一個名詞RTT:RTT(Round-Trip Time): 往返時延。在計算機網(wǎng)絡(luò)中它是一個重要的性能指標,表示從發(fā)送端發(fā)送數(shù)據(jù)開始,到發(fā)送端收到來自接收端的確認(接收端收到數(shù)據(jù)后便立即發(fā)送確認),總共經(jīng)歷的時延。

一個http請求響應(yīng)最少要經(jīng)歷一個RTT,如果這個請求或者響應(yīng)攜帶的數(shù)據(jù)量比較大,那么可能會需要經(jīng)歷多次傳輸,也就是需要經(jīng)歷多個RTT,我們這里簡單計算,假設(shè)一個http請求只需要一個RTT,一個RTT所用時間為n秒。

如果在一個頁面中只一個TCP長連接,現(xiàn)在100個資源所用時間為100*RTT*n,如果用6個TCP鏈接,那么時間縮短為100*RTT*n/6。

在http1.1協(xié)議下,針對瀏覽器對每個域名最大并發(fā)數(shù)的限制,我們可以利用域名分片的技術(shù)來進一步縮短時間,什么叫域名分片呢,給同一個網(wǎng)站設(shè)置多個域名,比如a.com和b.com都指向同一個網(wǎng)站,這樣瀏覽器對同一個網(wǎng)站的最大并發(fā)數(shù)就會隨著域名的增加而增加,時間進一步縮短為:100*RTT*n/(6*域名個數(shù))。

但是,隨著域名增多也會出現(xiàn)一些問題:

1、服務(wù)器壓力增大。

2、瀏覽器解析域名也會花費時間,域名越多花費時間也越多。

上文關(guān)注的的技巧主要是利用瀏覽器的特性突破了其最大并發(fā)數(shù),但是這樣做治標不治本。

TCP本身存在一些問題,如慢啟動,當網(wǎng)速發(fā)生變化時,TCP的速度也會隨之波動,速度同樣受影響。

TCP本身存在競爭關(guān)系,多個tcp同時連接會互相搶占網(wǎng)速。最重要的一點是:基于http1.1的tcp長連接有隊頭阻塞的現(xiàn)象,如果你不明白什么是http1.1的隊頭阻塞,歡迎閱讀這篇文章:白話http隊頭阻塞。

聊完http1.1協(xié)議下瀏覽器TCP連接的特性,咱們來思考一個問題:頁面解析過程中最先需要加載的是什么文件呢? 

當然是CSS文件和js文件,但是大家思考一下css文件和js文件是什么時候加載的,是在html文件這個響應(yīng)完成之后,瀏覽器快速掃描頁面中的關(guān)鍵資源,而后下載js和css。這中間就可能出現(xiàn)一個空閑時間,這個空閑時間有兩種可能,html中標簽太多,解析比較費勁,雖然css下載完成但是依然需要等待DOM解析完成,另外一種是DOM解析完成CSS卻沒有下載完成,依然需要等待,這里無論我們怎么做,兩者基本不會同步,我們應(yīng)該如何做呢?在http1.1版本下我們能做的就是盡量縮短關(guān)鍵資源的加載,不管是html、css還是js。

在http1.1協(xié)議下,我們可以通過如下幾種方案來做:

1、壓縮代碼,去掉注釋

2、對不依賴dom的js文件合理應(yīng)用async和defer避免dom解析的阻塞

3、對css應(yīng)用媒體查詢,對某些特定場景的css避免加載。

4、合理調(diào)整文件的個數(shù)和大小,這里不能一味的合并所有css或者js,如果某個css或者js體積過大,同樣影響效率,只能不斷的調(diào)整測試。本質(zhì)就是減少資源加載花費的RTT,并且不要超過瀏覽器對同一域名最大的并發(fā)數(shù)。

5、合理利用cdn。

6、應(yīng)用域名分片技術(shù)。

以上便是今天文章的內(nèi)容,總結(jié)一下:

1、在http1.1版本中我們可以針對瀏覽器對同一個域名支持的最大TCP鏈接數(shù)這個特性,使用域名分片技術(shù)來加快資源下載,但是這樣會也會隨之帶來一些問題,服務(wù)器壓力增大,瀏覽器解析域名花費時間增多,看似并沒有很好的解決我們的問題。

2、http1.1中的TCP長連接存在隊頭阻塞的問題,針對同一個tcp鏈接中的每一http請求必須響應(yīng)之后后面的http才能繼續(xù)。

3、TCP本身的一些不好的特性,慢啟動,多條TCP鏈接競爭網(wǎng)速。

針對這些問題我們給出了一下解決方案,但是終歸不是太優(yōu)雅,隨著互聯(lián)網(wǎng)的高速發(fā)展http1.1似乎越來越不能滿足當下用戶的需求了,http2在這眾望所歸的時刻到來了,下篇文章帶領(lǐng)大家利用http2來改善http1.1的這些不足。

最后提兩個問題,在http1.1版本中我們能實現(xiàn)如下需求嗎?

1、假如頁面中要加載多個資源,有的資源比較重要,我們想要使其優(yōu)先加載,應(yīng)該怎么做呢?

2、當我們請求某個網(wǎng)址的時候,服務(wù)器能不能提前將頁面需要的重要資源推送過來,而不是等待瀏覽器掃描html后再去加載?

3、既然多個TCP鏈接存在競爭關(guān)系,我們能不能讓瀏覽器將針對同一個域名的所有http請求都基于同一個tcp鏈接呢?這樣既減少了競爭,也減少了tcp鏈接的耗時操作。

關(guān)于“http1.1相對http2有什么缺點”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

網(wǎng)頁標題:http1.1相對http2有什么缺點
分享鏈接:http://www.chinadenli.net/article22/jcogcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化企業(yè)建站網(wǎng)站排名營銷型網(wǎng)站建設(shè)關(guān)鍵詞優(yōu)化云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管