La Compression GZIP sur statique Amazon S3 fichiers
Je tiens à mettre en œuvre GZIP de compression sur mon site. J'ai mis en place sur IIS et la page HTML est compressé avec succès comme prévu.
Maintenant la question est avec CSS et JS fichier, je reçois de Amazon S3. Ils ne sont pas compressés. Je voulais compresser trop.
Merci de me guider comment le faire. Partage de liens pour qu'il m'aide beaucoup.
Mise à jour: j'ai ajouté la Méta-Tête sur S3 fichiers comme "Content-Encoding:gzip", qui est maintenant son montrant dans l'en-tête de Réponse. Encore la taille du fichier est la même et aucun effet de Particulier CSS dans la page. Et je ne peux même pas l'ouvrir dans le navigateur. Voici le [lien][1] de particulier css.
Grâce
OriginalL'auteur RaJesh RiJo | 2015-08-04
Vous devez vous connecter pour publier un commentaire.
Fichiers doivent être compressés avant être téléchargés sur Amazon S3.
Pour quelques exemples, voir:
Juste la recherche pour "windows gzip" et vous trouverez certains utilitaires de compression.
Je recommande d'utiliser 7zip pour Windows 7-zip.org/download.html
Cette solution est maintenant expiré. Depuis Déc. 2015, Cloudfront peut compresser des fichiers sur le moyen de sortir.
Cloudfront de ne pas compresser S3 fichiers, sauf si vous ajoutez un CORS de configuration pour le seau à exposer le Contenu de l'en-tête de Longueur. Voir ithoughthecamewithyou.com/post/... pour plus de détails.
OriginalL'auteur John Rotenstein
Si vous utilisez CloudFront en face de votre compartiment S3, il n'est pas nécessaire de compresser manuellement HTML ressources (CloudFront les compresser à la volée). Veuillez noter CloudFront seulement compresser en gzip (sans se dégonfler, brotli) et seulement CSS /JS /HTML (basé sur le type de contenu). Voir https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html#compressed-content-cloudfront-file-types . Pour faire cela fonctionne, vous devez envoyer des en-têtes http de CloudFront pour S3 (voir doc).
Si votre S3 seau avoir des ressources qui ne sont pas pris en charge par Cloudfront (générique "binaire/octet-stream" mime type, comme "hdr" de la texture ou des "nds" ROM), vous devez compresser par vous-même avant de les télécharger sur S3, puis réglez le "content-encoding" http meta sur la ressource. Notez que seuls les navigateurs supportant le gz encodage sera en mesure de télécharger et décompresser le fichier.
Si vous ne voulez pas compresser les fichiers un par un par la main, vous pouvez utiliser une fonction Lambda
J'ai écrit un RÉSUMÉ de cela, il peut vous en inspirer pour créer votre propre processus. Voir https://gist.github.com/psa-jforestier/1c74330df8e0d1fd6028e75e210e5042
Et n'oubliez pas d'invalider (=purge) Cloudfront pour appliquer vos changements.
OriginalL'auteur JayMore