2010-08-02 14 views
13

Est-ce que quelqu'un connaît des problèmes concernant les pages HTML gzippées utilisant Amazon S3? J'ai la nécessité de réduire la taille du fichier de nos fichiers HTML (c.-à-servir en HTML compressés, fichiers CSS et javascript) - mais je suis préoccupé par ce que soit:Utilisation de GZIP avec des pages html servies depuis Amazon S3

  1. Amazon S3 ne sert pas les fichiers gzip correctement à la navigateur qui le demande. Ou,

  2. Certains navigateurs ont du mal à lire le contenu gzippé. Je comprends que les anciens navigateurs ne prennent pas en charge le contenu compressé (comme IE6 et versions antérieures) - et certains logiciels antivirus (modernes?) Supprimeront les en-têtes d'encodage de contenu.

Ai-je besoin de servir HTML non compressé (que je crois Amazon S3 soutiendra facilement) - ou puis-je être assuré que la plupart des navigateurs modernes gérer mon contenu gzip ok?

Répondre

2

Amazon S3 ne prend pas en charge le contenu gzip automatiquement, mais vous pouvez modifier manuellement les en-têtes d'encodage de contenu avant de télécharger le contenu. Il servira consciencieusement le contenu en tant que type de contenu gzip. Cependant, si vos extensions de fichier sont .gz, alors safari le traitera comme une pièce jointe, vous devez donc utiliser .jgz comme extension de fichier.

+0

Ce n'est pas nécessairement vrai. L'extension a moins à voir avec le traitement du fichier par les navigateurs que par les en-têtes de réponse Content-Type et Content-Encoding. – thesmart

+1

thesmart - J'ai testé et trouvé que safari ne respectera pas content-encoding = gzip si l'extension du fichier est .gz, mais je pourrais avoir vissé le test –

+0

Michael: ah, je ne savais pas que vous faisiez référence à un bug en Safari. .gz.js fonctionne bien comme une extension, d'après mon expérience. – thesmart

11

Gzip le fichier et ajoutez l'entrée de métadonnées suivantes à l'objet S3 avant de le télécharger:

Content-Encoding=gzip
+0

cela génère un ERR_CONTENT_DECODING_FAILED dans les navigateurs, le mieux est de faire un script qui automatise la compression gzip puis le télécharge sur s3. – panchicore

+0

le fichier doit être gzippé manuellement avant le téléchargement – jujule