Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 34710|Yanıt: 5

[ASP.NET] asp.net core 3.1, web sitesi Brotli sıkıştırma algoritmasını etkinleştirir

[Bağlantıyı kopyala]
2021-1-23 tarihinde 12:12:25 tarihinde yayınlandı | | | |
Brotli, Google tarafından geliştirilen yeni bir sıkıştırma algoritmasıdır. Daha küçük sıkıştırma yanıt boyutu, daha iyi alan kullanımı ve daha hızlı sayfa yüklemesi sağlar. Birçok durumda, Brotli gzip'ten daha iyi performans gösterir. Avantajlar: CSS, html, js gibi tipik web varlıkları için Brotli, gzip'ten %17-25 daha iyi performans gösterir. Brotli -gzip-9'a kıyasla yoğunluk: html (çok dilli korpus): js'nin %25'ini tasarruf et (Alexa'nın en yüksek 10k'sı): küçülen js'nin %17'sini (Alexa'nın ilk 10k'sı): CSS'nin %17'sini tasarruf et (Alexa'nın ilk 10k'sı): %20 tasarruf.

Brotli algoritmasına giriş

Brotli, ilk olarak 2015 yılında web fontlarının çevrimdışı sıkıştırılması için piyasaya sürülmüştür. Google yazılım mühendisleri, Eylül 2015'te HTTP sıkıştırmasına özel odaklanarak geliştirilmiş bir Brotli sürümünü yayımladı. Kodlayıcı, sıkıştırma oranını iyileştirmek için kısmen yeniden yazıldı, hem kodlayıcı hem de dekoder hız için artırıldı ve akış API'si daha fazla sıkıştırma kalitesi seviyesi eklenerek geliştirildi. Yeni sürüm ayrıca platformlar arasında performans iyileştirmeleri ve kod çözme için gereken belleği azalttığını gösteriyor.

Yaygın genel amaçlı sıkıştırma algoritmalarının aksine, Brotli önceden tanımlanmış 120 kilobaytlık bir sözlük kullanır. Sözlük, geniş bir metin ve HTML belge korpusundan 13.000'den fazla yaygın kullanılan kelime, ifade ve diğer alt dizileri içerir. Önceden tanımlanmış algoritmalar, daha küçük dosyaların sıkıştırma yoğunluğunu artırabilir.

Metin dosyalarını sıkıştırmak için deflate yerine Brotli kullanmak genellikle sıkıştırma yoğunluğunu %20 artırırken, sıkıştırma ve dekompresyon hızı yaklaşık olarak aynıdır. Brotli kullanılarak akış sıkıştırma için içerik kodlama tipinin "br" kullanılması önerilmiştir.

Brotli vs. Gzip


Sıkıştırma algoritmalarını değerlendirirken, iki göstergeye odaklanırız: sıkıştırma oranı ve sıkıştırma hızı. Yukarıdaki şekilde görebileceğiniz gibi, gzip'in 9 sıkıştırma seviyesinden hangisi kullanılırsa kullanılsın, sıkıştırma oranı brotli'den daha düşüktür (gzip'e kıyasla 10'a kadar da yapılandırılabilir) ve sıkıştırma hızı da daha yavaştır.

Brotli Avantajı: Brotli, css, html, js gibi tipik web varlıkları için gzip'ten %17-25 daha iyi performans gösterir. Brotli -gzip-9 ile karşılaştırıldığında yoğunluk: html (çok dilli korpus): js'nin %25'ini tasarruf et (Alexa'nın en yüksek 10k'sı): küçülen js'nin %17'sini tasarruf et (Alexa'nın ilk 10k sayısı): CSS'nin %17'sini kaydet (Alexa'nın ilk 10k dosyası): %20 tasarruf

asp.net çekirdek Brotli'yi etkinleştirir

Kabul Etme başlığı değeri



Kod yapılandırması

Aşağıdaki kod, varsayılan MIME tipi ve sıkıştırma sağlayıcıları (Brotli ve Gzip) için duyarlı sıkıştırma ara yazılımının nasıl etkinleştirileceğini gösterir:


Not:

  • uygulama. UseResponseCompression uygulamaya dahil edilmelidir. Aramadan önce Mvc kullanın.
  • Fiddler, Firebug veya Postman gibi araçları kullanarak Accept-Encoding isteği başlığını kurun ve yanıt başlığını, boyutunu ve gövdesini inceleyin.



Varsayılan olarak, Brotli sıkıştırma sağlayıcısı, Gzip sıkıştırma sağlayıcısıyla birlikte sıkıştırma sağlayıcısının dizisine eklenir. İstemci Brotli sıkıştırılmış veri formatını desteklediğinde, sıkıştırma varsayılan olarak Brotli sıkıştırmasına geçer. İstemci Brotli'yi desteklemiyorsa, istemci Gzip sıkıştırmasını desteklediğinde sıkıştırma varsayılan olarak Gzip'e geçer.

BR sıkıştırma testi

Fiddler paket yakalama aracını açın ve web sitemizin adresine erişmek için bir tarayıcı kullandığınızda aşağıdakileri görebilirsiniz:




İstek başlığı: Accept-Encoding: gzip, deflate, br

Yanıt başlığı: İçerik Kodlama: br

Sıkıştırma yapıldığında, Content-Length başlığı kaldırılır çünkü yanıt sıkıştırıldığında gövde içeriği değişir.

Sıkıştırma yapıldığında, gövde içeriği değiştiği ve hash artık geçerli olmadığı için Content-MD5 başlığı kaldırılır.


asp.net çekirdek https fonksiyonunu etkinleştirdiğinde, Brotli html ve json sıkıştırmasında etkili olmaz, ancak js ve css'i sıkıştırabilir. (Karakter uzunluğu sıkıştırılamayacak kadar küçük olabilir ve ayarlanmalıdır

(Son)





Önceki:Akıllı alan adı joker DNS araması
Önümüzdeki:asp.net çekirdek toplu olarak bellekteki zip paketlerini yeniden adlandırır
2022-9-24 10:48:26 tarihinde yayınlandı |
Orijinallik kolay değil, kaynak koduna bakın
2023-2-28 tarihinde 11:51:11 tarihinde yayınlandı |
Paylaştığın için teşekkürler
 Ev sahibi| 2023-9-1 tarihinde yayınlandı 21:59:51 |

 Ev sahibi| 2023-9-17 10:47:02 tarihinde yayınlandı |
.NET 6, Gzip ve Brotli algoritmalarını test eder
https://www.itsvse.com/thread-10663-1-1.html
 Ev sahibi| 2025-11-16 tarihinde yayınlandı 22:39:26 |
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com