2010-08-02 16 views
13

Qualcuno sa di problemi con le pagine HTML compresse con Amazon S3. Ho la necessità di ridurre al minimo la dimensione del file dei nostri file HTML (ad esempio servendo i file HTML, CSS e JavaScript compressi) - ma sono preoccupato che:Utilizzo di GZIP con pagine html servite da Amazon S3

  1. Amazon S3 non serve il backup dei file compressi con gzip correttamente al browser che lo richiede. Oppure,

  2. Alcuni browser hanno problemi a leggere il contenuto di gzip. Capisco che i browser più vecchi non supportino il contenuto con gzip (come IE6 e precedenti) e alcuni software (moderni?) Anti-virus elimineranno le intestazioni di codifica del contenuto.

Devo servire non compresso HTML (che credo Amazon S3 sosterrà facilmente) - o posso stare certi che la maggior parte dei browser moderni potranno gestire il mio contenuto compresso va bene?

risposta

2

Amazon S3 non supporta automaticamente il contenuto con gzip, ma è possibile modificare manualmente le intestazioni di codifica del contenuto prima di caricare il contenuto. Servirà doverosamente restituire il contenuto come tipo di contenuto gzip. Tuttavia, se le estensioni dei file sono .gz, Safari lo tratterà come un allegato, quindi devi usare .jgz come estensione di file.

+0

Questo non è necessariamente vero. L'estensione ha meno a che fare con il modo in cui il file viene trattato dai browser rispetto alle intestazioni di risposta Content-Type e Content-Encoding. – thesmart

+1

thesmart: l'ho provato e ho scoperto che safari non rispetta content-encoding = gzip se l'estensione del file è .gz, ma potrei aver rovinato il test –

+0

Michael: ah, non sapevo che ti riferivi a un bug in Safari. .gz.js funziona bene come estensione, dalla mia esperienza. – thesmart

11

Gzip il file e aggiungere la seguente voce di metadati per l'oggetto S3 prima di caricarlo:

Content-Encoding=gzip
+0

questo sta generando un ERR_CONTENT_DECODING_FAILED nei browser, la cosa migliore è creare uno script che automatizzi la compressione gzip e poi lo carichi su s3. – panchicore

+0

il file deve essere gzip manualmente prima del caricamento – jujule