精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

關于HTTP推送的一些問題

開發(fā) 前端
使用 HTTP 推送,CSS 和 JS 會在 HTML 請求到達之后盡快推送出去,發(fā)送它們需要 3 個 RTT(又一次因為慢啟動),它們將擁塞窗口增大至 128 KB 左右,將要發(fā)送 HTML 時,一個 RTT 就能可以了。

[[173785]]

上周我在斯達哥爾摩住了幾天,出席了 HTTP 研討會,參與了不少吸引人的討論。其中一次是關于 HTTP 推送及其優(yōu)缺點、早期實驗結果的。

由于早期實驗部署結果不那么理想,人們對 HTTP 推送大體持著懷疑態(tài)度,不過我想分享下自己更樂觀一些的觀點。

HTTP 推送能做哪些預加載不能做的事?

從懷疑者那里一再聽到的觀點是,“推送相對于預加載來說,只不過節(jié)省了一次 RTT(Round Trip Time)而已”。在實踐中,這并非總是對的,有一個使用案例,推送可以完成,但預加載無法做到。

利用服務器思考時間(think-time)

如今,HTML 響應很少只是單純的靜態(tài)資源了。它們通常都是通過數(shù)據(jù)庫獲取所需的信息、使用高級語言(可能略微慢一些)動態(tài)生成的。雖然后端響應時間確實可以而且應當優(yōu)化,但幾百毫秒的響應時間也并不常見。

有一個常見的建議,“提早 flush” HTML,在查詢數(shù)據(jù)庫并構建動態(tài)內(nèi)容的同時,發(fā)送 HTML 的首個 chunk 塊。但是,并非所有服務端的構架都能這么簡單地實現(xiàn)。

另外一個讓問題變得困難的因素是,需要開始向瀏覽器發(fā)送數(shù)據(jù)時,我們尚無法確定響應的構建是否會完全成功。為避免出現(xiàn)響應創(chuàng)建邏輯出錯(比如說,數(shù)據(jù)庫錯誤或者服務端代碼運行失敗),我們需要在應用邏輯中創(chuàng)建一種“回滾”已發(fā)送響應數(shù)據(jù)的方式,并向用戶展示錯誤信息。

盡管這肯定有可能做得到(甚至是自動化的),但目前還沒有一種通用的方式能夠作為協(xié)議的一部分。

因此一般場景是,Web 服務器等待后端數(shù)百毫秒以構建頁面,而后開始返回數(shù)據(jù)。這時候我們就碰到了慢啟動(譯者注:slow start,可參考此文),所以首次 RTT 只能發(fā)送大約 14 KB 數(shù)據(jù),第二次 28 KB 左右,如此等等。由此我們知道,將 HTML 發(fā)送出去,需要用去服務器思考時間加上慢啟動時間。在思考時間期間,瀏覽器對接下來所需的資源一無所知,故也不會針對接下來所需資源的關鍵路徑發(fā)送任何請求。

而且,即使我們試著耍小聰明,針對那些資源添加 preload 報頭,若我們不提早 flush 文檔開頭,那還是沒有對思考時間加以利用。

現(xiàn)在,將這個與使用 HTTP 推送能做的事情做個對比。服務器可以利用思考時間來推送相關的關鍵性資源 —— 尤其是 CSS 和 JS。這樣一來,當思考時間結束時,我們極有可能已將所有關鍵性資源都推送給瀏覽器了。

還有額外好處,這些資源也預熱了 TCP 連接,也提升了擁塞窗口(congestion window),確保思考時間之后的首個 RTT 中,可以使用 28 KB,56 KB,乃至更大的擁塞窗口發(fā)送 HTML(這取決于思考時間的長短,以及在此期間我們推送了多少資源)。

一起來看下具體案例:一個 120 KB 的 HTML 頁面,關鍵 CSS 有 24KB,關鍵 JS 有 74 KB,在 100ms RTT、無限帶寬的網(wǎng)絡環(huán)境下是如何加載的?

沒有 HTTP 推送的情況下,生成 HTML 等待了 300ms,接著 4 次 RTT 發(fā)送 HTML,因為慢啟動的緣故,使用了一個 RTT 請求 JS 和 CSS。在首次渲染之前,時間超過了 800 毫秒。

 無推送情況下的頁面加載

使用 HTTP 推送,CSS 和 JS 會在 HTML 請求到達之后盡快推送出去,發(fā)送它們需要 3 個 RTT(又一次因為慢啟動),它們將擁塞窗口增大至 128 KB 左右,將要發(fā)送 HTML 時,一個 RTT 就能可以了。首次渲染總時間: 400 毫秒。

 HTTP 推送情況下的頁面加載

首次渲染加速了 50%!也不算很差嘛。。。

HTTP 推送不盡如意的地方

我認為人們在錯誤地使用 HTTP 推送的原因之一是,他們在某些并不能提供任何好處甚至損害效率的場景下使用它。

盲目推送靜態(tài)資源

使用 HTTP 推送可能做的錯事之一就是告訴你自己,“啊,這些資源是所有頁面都需要的,把它們配置成所有頁面都推送”。

這很糟糕,原因是緩存。在訪問第一個頁面之后,這些資源很可能就在用戶的瀏覽器緩存中,然而你卻在悶頭推送。你可能會爭辯說,這可比內(nèi)聯(lián)所有這些資源好多了。是這樣的,不錯,但,我必須反過來告訴你,內(nèi)聯(lián)資源也是糟糕的主意。

所以,若你在以這種方式盲目推送資源,請確保它是你想要內(nèi)聯(lián)在頁面中的唯一的資源,也就是關鍵的 CSS。否則,你就是在冒險讓重復的請求變慢。

你可能會以為,流重置(stream resets)會幫助推送已緩存的資源去避免浪費帶寬和時間。你可能錯了。很顯然,并非所有瀏覽器會檢查緩存并終止已緩存資源的推送。就算它們會這樣,在流重置信號到達服務器之前,還是使用了一整個 RTT 時間發(fā)送數(shù)據(jù)。尤其是有多個資源時,這樣做將可能帶來大量數(shù)據(jù)浪費。

將內(nèi)容放入瀏覽器緩存

你可能以為,推送會將資源放入瀏覽器緩存,可以用來做一些像使當前資源失效這樣的工作。至少目前不是如此。研討會上的討論的話題之一就是現(xiàn)實問題,可能我們需要改變當前的推送行為,支持與瀏覽器緩存直接交互。不過當前,推送還做不到這些。推送響應進入推送緩存,只有真實請求它們時才會放到 HTTP 緩存中。

因此,如果你在推送資源,希望它們在未來的某個頁面中使用,那么瀏覽器有可能在用到它們之前已經(jīng)將它們?nèi)映鐾扑途彺嬷饬恕?/p>

至少目前的實現(xiàn)是這樣的。

填補 HTML 下發(fā)之后的管道

通常,在頁面的下載循環(huán)中,使用的帶寬之間會存在間隙。這意味著我們沒能盡快下發(fā)資源,通常這是因為瀏覽器發(fā)現(xiàn)資源的延遲。

盡管我們應當盡量下發(fā)頁面所需資源以填滿這些間隙,但通常使用預加載比推送更好。預加載將緩存、cookie以及內(nèi)容協(xié)商納入考慮,它不會像推送那樣存在著過度發(fā)送或錯誤發(fā)送的風險。就填補這些間隙而言,推送并無任何優(yōu)勢,所有的只是劣勢。故最好不要使用推送達成此目的,使用預加載吧。

緩存摘要(Cache Digests)

從上面我們可以看到,HTTP 推送的一大缺點就是,服務器并不必然清楚瀏覽器的緩存狀態(tài),因此在推送時我們可能會將已在緩存中存在的資源推送出去。

有一個標準擴展的提案,叫做 Cache Digests。其基本思想是瀏覽器在 HTTP/2 連接初始化之后,向服務器發(fā)送摘要,服務器在下發(fā)資源之前能夠精確判斷資源是否已在瀏覽器緩存中存在。

該提案尚處于早期,可能需要簡化,這樣實現(xiàn)起來花費更少,不過我敢說,離開這個特性,HTTP 推送只能算半成品。

總結

HTTP 推送可以用來顯著提升加載性能。正確使用時能為首個關鍵路徑加載提速,帶來性能指標的改善。

推送依然是非常新的技術,像其他所有新工具一樣,在找到使用的最優(yōu)方式之前,還有很長的路要走。這一路多少會有點痛苦。

是故早期實驗的初始結果,可能并非全如我們所希望的那樣。讓我們把那些結果作為標志,指示我們關于推送的使用需要更多聰明才智吧,別妄下結論說它是無用的特性。

感謝 Tim Kadlec 和 Marcos Caceres 審閱本文(特別感謝 Tim,在制作 RTT 圖解原型時的幫助)。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2009-06-12 10:25:42

Webservices

2018-06-12 15:39:41

容器部署云平臺

2021-10-21 06:52:17

Vue3組件 API

2011-05-31 17:50:07

白盒測試

2009-11-30 13:51:28

VS2003 Runt

2011-11-01 09:29:08

Android 4.0

2011-03-08 14:28:03

proftpdGentoo

2009-07-21 10:35:18

margin coll

2018-05-17 14:52:11

Javascripthtmlcss

2022-01-16 08:04:44

集群部署canal

2018-04-12 09:29:56

HTTP服務器問題

2009-06-10 21:46:02

JavaScript與

2012-12-19 11:40:13

思科路由器

2010-09-17 15:41:46

網(wǎng)絡協(xié)議分析軟件

2010-05-04 15:59:05

Oracle字符集

2009-08-06 16:01:30

C#接口成員

2011-01-26 16:24:53

Sun甲骨文

2009-11-23 13:44:33

PHP5面向?qū)ο?/a>

2009-06-04 16:28:43

EJB常見問題

2009-06-18 15:14:53

Spring osgi
點贊
收藏

51CTO技術棧公眾號

欧美日韩一区二区三区| 日本成人不卡| 亚洲国产影院| 欧美一区二区三区在线视频| 日本免费成人网| 国产视频aaa| 艳女tv在线观看国产一区| 欧美电影免费提供在线观看| av在线观看地址| 国产福利免费视频| 午夜一区不卡| 久久久精品免费视频| 中国黄色片视频| 亚洲一二三四| 日韩毛片视频在线看| 91精品久久久久久久| 国产乱国产乱老熟300| 亚洲成a人片77777在线播放| 欧美欧美欧美欧美首页| 日韩 欧美 视频| 九色蝌蚪在线| 成人精品电影在线观看| 国产精品女主播| 日韩人妻无码一区二区三区99| 第一会所亚洲原创| 亚洲第一区在线观看| 欧美美女一级片| 欧美野外wwwxxx| 国产夜色精品一区二区av| wwwxx欧美| 国产亚洲欧美日韩美女| 中文字幕不卡三区| 国产精品高清一区二区三区| www.av88| 一本色道久久综合亚洲精品高清| 最近2019年好看中文字幕视频| 精品人妻一区二区免费| 欧美亚洲综合视频| 欧美日韩综合视频| 久久人人爽爽人人爽人人片av| av无码精品一区二区三区宅噜噜| 亚洲精品综合| 欧美日韩成人精品| 国产免费美女视频| 人人狠狠综合久久亚洲婷婷| 亚洲欧美国内爽妇网| 日本精品一二三| 白嫩亚洲一区二区三区| 欧美性生活影院| 十八禁视频网站在线观看| 精品国产99久久久久久| 成人免费看黄yyy456| 日本中文字幕不卡免费| 午夜偷拍福利视频| 亚洲精品a级片| 神马久久桃色视频| 国产欧美小视频| 黑人操亚洲人| 在线播放日韩精品| 手机免费观看av| 日本久久黄色| 亚洲精品久久久久中文字幕二区 | 僵尸世界大战2 在线播放| 免费在线你懂的| 日韩美女久久久| 波多野结衣 作品| 青草av在线| 亚洲大型综合色站| 日韩小视频在线播放| 日韩伦理在线| 一本到不卡免费一区二区| 91精品91久久久中77777老牛| 国产写真视频在线观看| 一区二区三区四区亚洲| 国产一级大片免费看| 久草在线视频福利| 亚洲韩国精品一区| 成年人网站免费视频| 少妇一区视频| 欧美日韩国产a| 欧洲美女亚洲激情| 91综合精品国产丝袜长腿久久| 亚洲精品一区二区三区99| 亚洲av片不卡无码久久| 琪琪久久久久日韩精品| 有码中文亚洲精品| 艳妇荡乳欲伦69影片| 91成人精品视频| 久久久久久久久久国产精品| 毛片基地在线观看| 久久精品一区| 亚洲r级在线观看| 天堂资源最新在线| 国产精品卡一卡二卡三| 欧美另类videos| bl在线肉h视频大尺度| 欧美日韩美女在线| 污污动漫在线观看| 欧美.com| 亚洲午夜女主播在线直播| av黄色在线免费观看| 亚洲精品在线观看91| 孩xxxx性bbbb欧美| 黄色污污网站在线观看| 久久99久久久久| 国产精品手机在线| 免费在线观看av网站| 亚洲欧美日本韩国| 天天摸天天碰天天添| 久久av影院| 精品偷拍一区二区三区在线看| 久久嫩草捆绑紧缚| 性感少妇一区| julia一区二区中文久久94| 免费理论片在线观看播放老| 亚洲精品国产a久久久久久| 精品无码国模私拍视频| 黑人一区二区三区| 日韩精品中文字幕有码专区| 三级影片在线看| 日韩vs国产vs欧美| 精品一区二区国产| 青春草视频在线| 欧美日本乱大交xxxxx| 久久中文字幕人妻| 午夜精品一区二区三区国产| 国产成人午夜视频网址| 男人天堂综合网| 亚洲精品免费电影| 久久久精品高清| 精品免费在线| 欧美一区二区三区图| 免费观看毛片网站| 悠悠色在线精品| 午夜av中文字幕| 国产福利资源一区| 欧美激情在线观看| 国产高潮在线观看| 亚洲色图视频网站| 免费网站在线观看黄| 日韩欧美午夜| 国产精品美女主播| av电影在线网| 欧美日韩一区高清| 大胸美女被爆操| 久久九九国产| 日本日本精品二区免费| 亚洲天堂一区二区| 日韩黄在线观看| 五月婷婷色丁香| 久久在线观看免费| 欧美性大战久久久久xxx| 麻豆成人入口| 性色av一区二区咪爱| 亚洲男女视频在线观看| 亚洲精品一二三四区| 婷婷激情综合五月天| 久久精品亚洲人成影院| 国产精品亚洲美女av网站| 日韩欧美小视频| 欧美日韩精品免费观看视频| 成人免费视频入口| 国精品**一区二区三区在线蜜桃| 男女激烈动态图| 三级欧美日韩| 久久人人爽人人爽人人片av高清| 色婷婷av一区二区三| 黑人欧美xxxx| 99久久久久久久久久| 视频一区中文字幕国产| 麻豆av一区二区三区| 欧美影视资讯| 久久久av网站| 色婷婷中文字幕| 欧美午夜丰满在线18影院| 丝袜美腿中文字幕| 久久99久久99精品免视看婷婷| 国产精品99久久久久久大便| 51精品国产| 日韩69视频在线观看| 在线观看av黄网站永久| 欧美成人三级在线| 天天干天天干天天操| 久久久久国产精品麻豆ai换脸| 天堂av在线网站| 欧美成人69av| 九九九热999| 亚洲精品555| 欧美日本中文字幕| 国产69精品久久app免费版| 制服丝袜中文字幕亚洲| 欧美三级韩国三级日本三斤在线观看| 国产日韩高清在线| 亚洲三级在线视频| 欧美日韩国产高清| 日韩国产一区久久| 视频一区在线| 国产精品pans私拍| 欧美巨大xxxx做受沙滩| 亚洲人成绝费网站色www| 精品久久久久成人码免费动漫| 亚洲夂夂婷婷色拍ww47| 九九九视频在线观看| 岛国一区二区在线观看| 国产又黄又大又粗视频| 日韩久久电影| 久久日韩精品| aaa国产精品视频| 国产成人精品亚洲精品| 国产桃色电影在线播放| 最近2019中文字幕大全第二页| 日韩一级片免费看| 在线不卡免费欧美| 久久久久久福利| 国产精品欧美经典| 右手影院亚洲欧美| 米奇777四色精品人人爽| 亚洲欧洲日本mm| 日韩欧美国产二区| 精品欧美午夜寂寞影院| 91免费福利视频| 天堂av中文在线观看| 最近2019中文字幕第三页视频| 涩爱av在线播放一区二区| 欧美一区2区视频在线观看| 中文字幕在线天堂| 欧美日韩国产一区在线| 久久一二三四区| 亚洲婷婷国产精品电影人久久| 日本一级免费视频| 久久只精品国产| 毛茸茸多毛bbb毛多视频| 高清在线观看日韩| 亚洲一区二区图片| 国产真实精品久久二三区| 亚欧在线免费观看| 久久看片网站| 无码人妻丰满熟妇区五十路百度| 国产精品激情| 日韩精品第一页| 国产成人黄色| 日本一区二区三区精品视频| 老牛精品亚洲成av人片| 国产伦精品一区二区三区免费视频 | 麻豆成人在线观看| 天天综合网日韩| 日韩高清在线电影| 日本黄网站免费| 丝袜a∨在线一区二区三区不卡| 无码中文字幕色专区| 伊人成人在线视频| 国产真人做爰毛片视频直播| 欧美成人高清| 黄色三级中文字幕| 91久久亚洲| 日本www在线播放| 久久xxxx精品视频| 黄色三级视频片| 鲁大师成人一区二区三区| 亚洲乱码中文字幕久久孕妇黑人| 亚洲乱亚洲高清| 精品视频在线观看一区| 国产亚洲欧洲| 韩国日本美国免费毛片| 美女视频黄免费的久久| 日韩一区二区三区久久| 国内精品写真在线观看| 欧洲美女亚洲激情| 国产大片一区二区| 这里只有精品在线观看视频| 久久中文娱乐网| 影音先锋男人看片资源| 亚洲色图视频网| 日本在线观看视频网站| 亚洲v精品v日韩v欧美v专区 | 黄色精品一区二区| 精品成人无码久久久久久| 精品视频999| 亚洲天堂2021av| 日韩视频一区二区三区| 精品久久久中文字幕人妻| 欧美xxxxxxxxx| 中文字幕有码视频| 精品久久久久久久久久久院品网| 天堂在线中文字幕| 亚洲欧美日韩网| 日本三级视频在线播放| 国内精品一区二区三区四区| a天堂资源在线| 国产精品激情自拍| 亚洲一级大片| 精品一区二区久久久久久久网站| 超碰成人久久| 给我免费播放片在线观看| 另类av一区二区| 成年人性生活视频| 国产亚洲精品bt天堂精选| 少妇视频在线播放| 亚洲国产成人av网| 国产精品视频123| 欧美一区二区私人影院日本| 天天操天天干天天操| www.日韩.com| av成人影院在线| 成人免费视频网址| 蜜桃成人av| 一本久久a久久精品vr综合| 一区二区三区国产在线| 国产精品久久久久久9999| 久久久久久久网| 国产无码精品一区二区| 在线一区二区三区做爰视频网站| 99久久一区二区| 中文字幕av一区中文字幕天堂| 888av在线视频| 91亚洲精品在线| 日韩久久精品| 日本女优爱爱视频| 韩国毛片一区二区三区| 韩国三级hd中文字幕| 亚洲一二三四区| 精品久久久久久久久久久久久久久久久久| 欧美一区二区三区四区五区 | 色香蕉在线观看| 日韩经典一区二区| 国产精品jizz| 精品久久久一区二区| 亚洲国产福利视频| 中日韩午夜理伦电影免费| 大胆人体一区| 久久国产精品一区二区三区| 国内精品福利| 少妇性l交大片7724com| 欧美国产精品中文字幕| 特级毛片www| 亚洲码在线观看| 日韩伦理在线一区| 99精品国产高清在线观看| 成人中文在线| 欧美成人三级在线播放| 欧美国产一区二区在线观看| 天天操中文字幕| 日韩高清人体午夜| 亚洲欧洲自拍| 欧美久久久久久一卡四| 国产一区二区三区的电影| yy6080午夜| 无码av免费一区二区三区试看 | 国产91av视频在线观看| 免播放器亚洲一区| 国产中年熟女高潮大集合| 偷拍亚洲欧洲综合| 日韩a在线观看| 2019中文字幕免费视频| 蜜臀91精品国产高清在线观看| jizzjizzxxxx| 久久久久国产精品人| 亚洲中文一区二区| 精品国内亚洲在观看18黄| 91麻豆精品| 男人j进女人j| 成人免费视频播放| 成人毛片在线播放| 这里只有精品视频在线| 未满十八勿进黄网站一区不卡| 欧美福利一区二区三区| 日韩成人伦理电影在线观看| 制服丨自拍丨欧美丨动漫丨| 日韩一区二区精品在线观看| av中文字幕在线看| 蜜桃av噜噜一区二区三| 久久久成人网| 中文字幕黄色网址| 日韩一区二区三区观看| sm捆绑调教国产免费网站在线观看| 国产亚洲一区在线播放| 久久久精品日韩| 香蕉成人在线视频| 精品久久人人做人人爽| 成人日韩精品| 中国人体摄影一区二区三区| 成人中文字幕电影| 午夜精品一区二| 久久亚洲国产精品成人av秋霞| 欧美黄视频在线观看| 日本黄色播放器| 成人福利视频在线看| 在线观看污污网站| 欧美成年人网站| 国产欧美啪啪| 成人免费观看视频在线观看| 久久久久久久综合日本| 99视频在线观看免费| 欧美在线视频一区| 亚洲精品99| 国产午夜福利一区| 日韩午夜在线影院| 日日夜夜天天综合| 免费网站在线观看视频| www.亚洲国产|