国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
Brotli的創(chuàng)世紀(jì)
最初的失望
一個自制的解決方案
漸進(jìn)的投資回報率
進(jìn)一步的增強(qiáng)
自己嘗試!
未來的前景
結(jié)論
首頁 web前端 css教程 我如何使用brotli以CDN量表獲取更小的CSS和JavaScript文件

我如何使用brotli以CDN量表獲取更小的CSS和JavaScript文件

Apr 05, 2025 am 10:26 AM

我如何使用brotli以CDN量表獲取更小的CSS和JavaScript文件

HBO系列硅谷幽默地描繪了Pied Piper,這是一個旨在創(chuàng)建革命性壓縮算法的開發(fā)團(tuán)隊。他們的目標(biāo)?為了過時對高質(zhì)量流和文件存儲的關(guān)注。代表Google的虛構(gòu)的Hooli試圖獲取其技術(shù)。有趣的是,Google實(shí)際上擁有強(qiáng)大的壓縮引擎:Brotli。

本文詳細(xì)介紹了我在生產(chǎn)環(huán)境中使用Brotli使用Brotli的經(jīng)驗(yàn)。雖然最初被認(rèn)為是計算昂貴的,尤其是在較高的壓縮水平下,Brotli在幾個關(guān)鍵領(lǐng)域都被證明具有非常成本效益,超過了GZIP和較低的Brotli設(shè)置。

Brotli的創(chuàng)世紀(jì)

Google于2015年宣布了Brotli,并在Github上發(fā)布了其源代碼。 Brotli創(chuàng)作者還在兩年前開發(fā)了Google的Zopfli壓縮。與現(xiàn)有技術(shù)建立的Zopfli不同,Brotli是從頭開始設(shè)計的,優(yōu)先考慮靜態(tài)Web資產(chǎn)的文本壓縮(HTML,CSS,JavaScript,Web Fonts)。

作為當(dāng)時的自由網(wǎng)絡(luò)績效顧問,Brotli承諾比Zopfli的20-26%改善(本身是高效的放氣壓縮機(jī))感到興奮。這代表了對Zlib(本質(zhì)上是GZIP)的顯著進(jìn)步。

最初的失望

盡管Brotli在工具,服務(wù)和瀏覽器中獲得了快速的吸引力,但預(yù)期的26%的壓縮并未在生產(chǎn)中始終實(shí)現(xiàn)。一些CDN在內(nèi)部使用較低的壓縮水平,而另一些CDN則需要手動起源側(cè)brotli配置。

服務(wù)器端Brotli支持很好,但是實(shí)現(xiàn)高壓的高壓定制預(yù)壓縮代碼或服務(wù)器模塊 - 通常不可用,尤其是在共享托管的情況下。這很令人沮喪;我的目的是為客戶網(wǎng)站提供最大的字節(jié)壓縮,但是事實(shí)證明,按需預(yù)壓以及同時的文件更新是具有挑戰(zhàn)性的。

一個自制的解決方案

我為客戶開發(fā)了性能優(yōu)化服務(wù),將優(yōu)化分為“內(nèi)容”,“交付”和“緩存”組。 Brotli被整合到“內(nèi)容”優(yōu)化中。

Brotli提供可調(diào)節(jié)的壓縮水平(最高11級)。 11級提供了大量的文件尺寸減少,但非常慢,不適合由于CPU高開銷而導(dǎo)致按需壓縮。我的基準(zhǔn)顯示Brotli:11占數(shù)百毫秒來壓縮一個縮小的jQuery文件。預(yù)壓是唯一需要服務(wù)器級緩存的可行選擇。

盡管擔(dān)心資源消耗,但我還是將Brotli:11作為可配置的服務(wù)器選項,使客戶可以權(quán)衡計算成本。

漸進(jìn)的投資回報率

我的服務(wù)包含地理內(nèi)容交付(內(nèi)置CDN)。我將公共和私人CDN組合在單個主機(jī)上,利用共享的瀏覽器庫來獲取公共資源,同時避免了額外的DNS查找和連接成本。此優(yōu)化的HTTP/2多路復(fù)用。

使用Brotli:為所有可壓縮資產(chǎn)(CSS,JavaScript,SVG,TTF等)啟用了11個預(yù)壓縮,請?zhí)岣叱跏颊埱箝_銷,但隨后的請求順利運(yùn)行。 Brotli的高瀏覽器支持確保了廣泛的利用。

分析顯示,與其他CDN相比,節(jié)省了約21%(有些已經(jīng)在較低級別使用Brotli)。這在經(jīng)過測試的網(wǎng)站之間是一致的。下圖說明了節(jié)省(CSS節(jié)省比JavaScript更重要)。

Brotli:11的好處是很大的:

  • 減少了TLS開銷:雖然不容易量化,但較小的文件加密速度更快。
  • 較低的帶寬成本:一致的21%節(jié)省量導(dǎo)致累積成本降低。
  • 有效的邊緣服務(wù)器緩存:較小的Brotli壓縮文件最大化的內(nèi)存利用率。
  • 改進(jìn)的用戶體驗(yàn):減少了用戶,尤其是移動用戶的數(shù)據(jù)傳輸,從而可以更好地節(jié)省電池壽命和數(shù)據(jù)。

每次要求節(jié)省的成本是適度的,但是公共資源的接近零高速緩存率很快攤銷了初始壓縮成本。長期利益很大。

進(jìn)一步的增強(qiáng)

我們的服務(wù)允許客戶使用較低的壓縮液位來用于經(jīng)常更改私有CDN資源(自定義CSS/JavaScript),自動切換到公共CDN,以較少更新,預(yù)壓縮(Brotli:11)資源。這將高壓比與快速清除/更新之間進(jìn)行平衡。

我們的集成工具簡化了此過程。公共CDN提供免費(fèi)的帶寬和出色的性能。

自己嘗試!

積極的壓縮可以顯著減少頁面負(fù)載大小。我們的PageCDN服務(wù)可訪問免費(fèi)的公共CDN。以下是常用庫的示例:

<link crossorigin="anonymous" href="https://pagecdn.io/lib/font-awesome/5.13.0/css/all.min.css" integrity="sha256-h20CPZ0QyXlBuAw7A KluUYx/3pK c7lYEpqLTlxjYQ=" rel="stylesheet">
<link crossorigin="anonymous" href="https://pagecdn.io/lib/ionicons/4.6.3/css/ionicons.min.css" integrity="sha256-UUDuVsOnvDZHzqNIznkKeDGtWZ/Bw9ZlW 26xqKLV7c=" rel="stylesheet">
<link crossorigin="anonymous" href="https://pagecdn.io/lib/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha256-L/W5Wfqfa0sdBNIKN9cG6QA5F2qx4qICmU2VgLruv9Y=" rel="stylesheet">

我們的PHP庫和WordPress插件與公共CDN無縫集成。 JavaScript,Python和Ruby圖書館即將到來。您還可以使用我們的搜索工具來找到用于您的網(wǎng)站資源的CDN等效物。

未來的前景

我們最初專注于流行的庫來減輕惡意軟件風(fēng)險。我們根據(jù)用戶建議不斷添加新庫。對于尚未在我們的公共CDN上的資源,我們的私人CDN允許鏈接到存儲庫并應(yīng)用自定義優(yōu)化。

結(jié)論

本文反映了我對Brotli的個人經(jīng)歷。盡管我們的服務(wù)仍然相對較小,但積極的壓縮已被證明是非常有益的。免費(fèi)的公共CDN提供了與您的網(wǎng)站相似的優(yōu)勢。歡迎反饋。

以上是我如何使用brotli以CDN量表獲取更小的CSS和JavaScript文件的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實(shí)現(xiàn)簡單動畫;2.使用多個點(diǎn)的自定義旋轉(zhuǎn)器,通過不同延遲時間實(shí)現(xiàn)跳動效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強(qiáng)調(diào)了設(shè)計細(xì)節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗(yàn)。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異并合理使用廠商前綴。1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動畫表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動添加前綴;5.安裝PostCSS并配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時自動處理兼容性;7.老項目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo??ntalpadding/margins—idealforinlinetextstyling

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗(yàn),尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出于隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標(biāo)識。

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無需依賴圖片或SVG。其優(yōu)勢包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動端;3.易于動畫化,可結(jié)合hover或JavaScript實(shí)現(xiàn)動態(tài)效果;4.不影響布局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實(shí)現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控制圖片裁剪與焦點(diǎn)展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決于設(shè)計需求和響應(yīng)式要求。1.px用于固定尺寸,適合精確控制但缺乏彈性;2.em是相對單位,受父元素影響易導(dǎo)致級聯(lián)問題,rem則基于根元素更穩(wěn)定,適合全局縮放;3.vw/vh基于視口大小,適合響應(yīng)式設(shè)計,但需注意極端屏幕下的表現(xiàn);4.選擇時應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級關(guān)系及視口依賴程度來決定,合理搭配使用可提升布局靈活性與維護(hù)性。

什么是常見的CSS瀏覽器不一致? 什么是常見的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認(rèn)樣式差異、盒模型計算方式、Flexbox和Grid布局支持程度及某些CSS屬性行為不一致。1.默認(rèn)樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測試并使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse并提供降級

See all articles