Serving gzippte CSS und JavaScript von Amazon CloudFront über S3

Ich habe auf der Suche nach Möglichkeiten, meine Seite schneller geladen und in einer Weise, dass ich möchte, um zu erkunden, ist die verstärkte Nutzung von Cloudfront.

Weil Cloudfront war ursprünglich nicht konzipiert als eine custom-origin CDN und weil es Sie nicht unterstützen Gzip, habe ich bisher verwende es als host für alle meine Bilder, die referenziert sind, durch Ihre Cloudfront-cname in meiner Website-code, und optimiert mit weit-futures-Header.

CSS-und javascript-Dateien, auf der anderen Seite, gehostet auf meinem eigenen server, denn bis jetzt war ich unter dem Eindruck, dass Sie konnte nicht serviert werden, gzipped von Cloudfront, und dass der Gewinn von Gzip (etwa 75 Prozent) überwiegt, dass von der Nutzung eines CDN (über 50 Prozent): Amazon S3 (und damit Cloudfront) nicht unterstützen portion gzipped-Inhalt in einem standard-Weise durch die Verwendung des HTTP-Accept-Encoding-header, die gesendet wird, von den Browsern zu zeigen, Ihre Unterstützung für gzip-Komprimierung und so waren Sie nicht in der Lage, Gzip und dienen-Komponenten on-the-fly.

So, ich war unter dem Eindruck, bis jetzt hatte man die Wahl zwischen zwei alternativen:

  1. verschieben Sie alle Vermögenswerte, die zu Amazon CloudFront und vergessen-Gzip;

  2. halten-Komponenten self-hosted und konfigurieren unsere server zu erkennen, die eingehenden Anfragen und führen Sie on-the-fly Gzip als angemessen, das ist, was ich wählte es so weit.

Dort wurden Problemumgehungen um dieses Problem zu lösen, aber im wesentlichen diese hat nicht funktioniert. [link].

Nun scheint es Amazon Cloudfront unterstützt benutzerdefinierte Ursprungs, und dass es ist nun möglich, verwenden Sie die standard-HTTP-Accept-Encoding-Methode für das servieren von Gzip-Inhalte, wenn Sie Benutzerdefinierte Origin - [ link ].

Habe ich noch nicht so weit umsetzen können, die neue Funktion auf meinem server. Der blog-post habe ich im Zusammenhang mit oben, die ist die einzige, die ich gefunden Detaillierung der änderung, scheint zu implizieren, dass Sie können nur dann aktivieren, Gzip (bar workarounds, die ich nicht verwenden will), wenn Sie entscheiden sich für benutzerdefinierte Herkunft, die ich lieber nicht: ich finde es einfacher, die Hosts der jeweiligen fileds auf meine Cloudfront-server, und link, um Sie von dort aus. Trotz sorgfältigem Lesen der Dokumentation, ich weiß nicht:

  • ob die neue Funktion bedeutet, die Dateien werden sollte, gehostet auf meinem eigenen domain-server über benutzerdefinierten Ursprungs, und wenn ja, welche code-setup erreichen;

  • so konfigurieren Sie die css-und javascript-Header, um sicherzustellen, dass Sie werden serviert gzipped aus Cloudfront.

InformationsquelleAutor der Frage Donald Jenkins | 2011-03-26

Schreibe einen Kommentar