Gzip ile Bileşenleri Sıkıştır
Nedir : Sıkıştırma, HTTP yanıtının boyutunu azaltarak yanıt sürelerini azaltır.
Çözüm : Mümkün olduğu kadar çok dosya türüne sahip olmak, sayfa ağırlığını azaltmanın ve kullanıcı deneyimini hızlandırmanın kolay bir yoludur.
Uzman Yorumu : Yazılım tarafında zorunludur.
Genel Açıklama
Bir HTTP isteğinin aktarılması ve ağ üzerinden yanıtın alınması, front-end mühendisleri tarafından verilen kararlarla önemli ölçüde azaltılabilir. Son kullanıcının bant genişliği hızının, İnternet servis sağlayıcısının, takas noktalarına yakınlığının, vb. geliştirme ekibinin kontrolü dışında olduğu doğrudur. Ancak cevap sürelerini etkileyen başka değişkenler de var. Sıkıştırma, HTTP yanıtının boyutunu azaltarak yanıt sürelerini azaltır.
HTTP / 1.1 ile başlayarak, web istemcileri, HTTP isteğinde Kabul Kodlama başlığı ile sıkıştırmaya yönelik desteği belirtir.
Kabul-Kodlama: gzip, deflate
Web sunucusu bu başlığı talepte görürse, müşteri tarafından listelenen yöntemlerden birini kullanarak yanıtı sıkıştırabilir. Web sunucusu bunun web istemcisine cevabında İçerik Kodlama başlığı ile haber verir.
İçerik Kodlaması: gzip
Google’dan Detaylar
Gzip şu anda en popüler ve etkili sıkıştırma yöntemidir. GNU projesi tarafından geliştirilmiştir ve RFC 1952 tarafından standardize edilmiştir . Görme olasılığınız olan diğer tek sıkıştırma formatı deflate'dir, ancak daha az etkili ve daha az popülerdir.
Gzipping genellikle tepki boyutunu yaklaşık % 70 oranında azaltır. Günümüzün İnternet trafiğinin yaklaşık % 90'ı, gzip'i desteklediğini iddia eden tarayıcılardan geçmektedir. Apache kullanıyorsanız, gzip'i yapılandıran modül sürümünüze bağlıdır: Apache 1.3 mod_gzip kullanırken Apache 2.x mod_deflate kullanır .
Tarayıcılar ve proxy'lerde, tarayıcının beklediği ve sıkıştırılmış içerikle ilgili olarak ne aldığı konusunda bir uyumsuzluğa neden olabilecek bilinen sorunlar vardır. Neyse ki, daha eski tarayıcıların kullanımı azaldıkça bu uç vakalar azalmaktadır. Apache modülleri, uygun Vary yanıt başlıklarını otomatik olarak ekleyerek yardımcı olur.
Sunucular, dosya türüne göre neyin kopyalanacağını seçer, ancak genellikle sıkıştırmaya karar verdiklerinde sınırlıdır. Çoğu internet sitesi HTML belgelerini gzip ile yerleştirir. Komut dosyalarınızı ve stil sayfalarınızı tanıtmak da faydalı olacaktır, ancak birçok web sitesi bu fırsatı kaçırmaktadır. Aslında, XML ve JSON dahil olmak üzere herhangi bir metin yanıtını sıkıştırmak faydalı olacaktır. Görüntü ve PDF dosyaları sıkıştırılmamalıdır çünkü zaten sıkıştırılmıştır. Onları gzip etmeye çalışmak sadece CPU'yu israf etmekle kalmaz, aynı zamanda dosya boyutlarını yükseltebilir.
Mümkün olduğunca çok sayıda dosya türünü açmak, sayfa ağırlığını azaltmak ve kullanıcı deneyimini hızlandırmak için kolay bir yoldur.