Ich habe nach Möglichkeiten gesucht, meine Website schneller zu laden, und eine Möglichkeit, die ich untersuchen möchte, besteht darin, Cloudfront stärker zu nutzen.
Da Cloudfront ursprünglich nicht als CDN mit benutzerdefiniertem Ursprung konzipiert war und GZIP nicht unterstützte, habe ich es bisher verwendet, um alle meine Bilder zu hosten, auf die in meinem Site-Code durch ihren Cloudfront-C-Namen verwiesen wird, und mit weit optimiert -Futures Header.
CSS- und Javascript-Dateien werden dagegen auf meinem eigenen Server gehostet, da ich bisher den Eindruck hatte, dass sie nicht über Cloudfront gzippt bereitgestellt werden können und dass der Gewinn durch gzipping (ca. 75 Prozent) diesen überwiegt Verwendung eines CDN (ca. 50 Prozent): Amazon S3 (und damit Cloudfront) unterstützte das standardmäßige Bereitstellen von komprimiertem Inhalt nicht, indem der von Browsern gesendete HTTP Accept-Encoding-Header verwendet wurde, um die Unterstützung für die gzip-Komprimierung anzugeben Daher waren sie nicht in der Lage, Komponenten im laufenden Betrieb zu Gzipen und zu bedienen.
So hatte ich bisher den Eindruck, man müsse zwischen zwei Alternativen wählen:
Verschieben Sie alle Assets in Amazon CloudFront und vergessen Sie GZipping.
Halten Sie die Komponenten selbst gehostet und konfigurieren Sie unseren Server so, dass eingehende Anforderungen erkannt werden und das entsprechende GZipping im laufenden Betrieb durchgeführt wird. Dies habe ich bisher gewählt.
Es gab Problemumgehungen, um dieses Problem zu lösen, aber im Wesentlichen funktionierten diese nicht . [ Link ].
Es scheint, dass Amazon Cloudfront benutzerdefinierten Ursprung unterstützt und dass es jetzt möglich ist, die Standardmethode für die HTTP-Akzeptanzcodierung zum Bereitstellen von komprimiertem Inhalt zu verwenden, wenn Sie einen benutzerdefinierten Ursprung verwenden [ Link ].
Ich konnte die neue Funktion bisher nicht auf meinem Server implementieren. Der Blog-Beitrag, auf den ich oben verlinkt habe und der der einzige ist, bei dem ich die Änderung detailliert gefunden habe, scheint zu implizieren, dass Sie das Zippen nur aktivieren können (Balkenumgehungen, die ich nicht verwenden möchte), wenn Sie sich für einen benutzerdefinierten Ursprung entscheiden Ich möchte lieber nicht: Ich finde es einfacher, die entsprechenden Dateien auf meinem Cloudfront-Server zu hosten und von dort aus auf sie zu verlinken. Trotz sorgfältiger Lektüre der Dokumentation weiß ich nicht:
ob die neue Funktion bedeutet, dass die Dateien über einen benutzerdefinierten Ursprung auf meinem eigenen Domänenserver gehostet werden sollen , und wenn ja, mit welchem Code-Setup wird dies erreicht;
So konfigurieren Sie die CSS- und Javascript-Header, um sicherzustellen, dass sie über Cloudfront gzippt bereitgestellt werden.