2010-08-02 11 views
13

arasında servis. Ben (yani sıkıştırılmış HTML, CSS ve JavaScript dosyaları hizmet veren) Bizim HTML dosyalarının dosya boyutunu en aza indirmek için ihtiyaç - ama ya o endişeliyim:kullanma GZIP herkes Amazon S3 kullanmaktadır gzip'lenmiş HTML sayfaları hizmet veren herhangi bir sorun biliyor mu Amazon S3

  1. Amazon S3 doğru gzip'lenmiş dosyaları hizmet etmez İsteyen tarayıcı. Veya, bazı tarayıcılarda gziplenmiş içeriği okumada sorun yaşanıyor. Eski tarayıcıların gziplenmiş içeriği desteklemediğini (IE6 ve önceki gibi) ve bazı (modern?) Anti-virüs yazılımlarının içerik kodlama başlıklarını açacağını anlıyorum.

(Ben Amazon S3 kolayca destek olacağına inanıyoruz) sıkıştırılmamış HTML'ini hizmet etmek gerekiyor mu - veya en modern tarayıcılar benim gzip'lenmiş içerik tamam idare edecek emin olabilirsiniz?

cevap

2

Amazon S3, gziplenmiş içeriği otomatik olarak desteklemez, ancak içeriği yüklemeden önce içerik kodlama başlıklarını el ile değiştirebilirsiniz. İçerik türünü gzip olarak geri gönderir. Ancak, dosya uzantılarınız .gz ise, safari bunu bir ek gibi ele alır, bu nedenle .jgz'yi bir dosya uzantısı olarak kullanmanız gerekir.

+0

Bu her zaman doğru değildir. Uzantının, dosyanın tarayıcılar tarafından Content-Type ve Content-Encoding yanıt başlıklarına göre nasıl ele alındığıyla ilgili daha az şey vardır. – thesmart

+1

thesmart - Bunu test ettim ve safari'nin içerik-kodlamaya uymadığını öğrendim = dosya uzantısı .gz ise gzip, ancak testi –

+0

Michael: ah, bir hataya yönlendirdiğinin farkında değildim Safari'de. .gz.js deneyimimden bir uzantı olarak iyi çalışıyor. – thesmart

11

Gzip dosya ve yüklemeden önce S3 nesnesine şu meta veri girişini ekleyin:

Content-Encoding=gzip
+0

bu tarayıcılarda bir ERR_CONTENT_DECODING_FAILED oluşturuyor, iyi otomatik hale gzip sıkıştırma sonra s3 yüklenecek bir script yapmaktır. – panchicore

+0

dosyasının, dosya yüklemeden önce elle sıkıştırılması gerekiyor – jujule