Ho cercato modi per velocizzare il caricamento del mio sito e un modo che mi piacerebbe esplorare è quello di utilizzare maggiormente Cloudfront.
Poiché Cloudfront non era originariamente progettato come CDN di origine personalizzata e poiché non supportava il gzipping, finora lo ho usato per ospitare tutte le mie immagini, a cui fa riferimento il loro nome Cloudfront nel mio codice del sito e ottimizzato con -testazioni del futuro.
I file CSS e javascript, d'altra parte, sono ospitati sul mio server, perché fino ad ora avevo l'impressione che non potessero essere serviti gzip da Cloudfront e che il guadagno dal gzip (circa il 75%) supera quello dall'uso di una CDN (circa il 50%): Amazon S3 (e quindi Cloudfront) non supportava la pubblicazione di contenuti gzip in modo standard utilizzando l'intestazione HTTP Accept-Encoding che viene inviata dai browser per indicare il loro supporto per la compressione gzip e quindi non sono stati in grado di Gzip e servire componenti al volo.
Quindi avevo l'impressione, fino ad ora, che si dovesse scegliere tra due alternative:
spostare tutte le risorse su Amazon CloudFront e dimenticare GZipping;
mantenere i componenti ospitati autonomamente e configurare il nostro server per rilevare le richieste in arrivo ed eseguire GZipping al volo nel modo appropriato, che è quello che ho scelto di fare finora.
Ci sono state soluzioni alternative per risolvere questo problema, ma essenzialmente questi non hanno funzionato . [ link ].
Ora, sembra che Amazon Cloudfront supporti l'origine personalizzata e che ora sia possibile utilizzare il metodo HTTP Accept-Encoding standard per la pubblicazione di contenuti compressi se si utilizza un collegamento [ Origin ] personalizzato.
Finora non sono stato in grado di implementare la nuova funzionalità sul mio server. Il post sul blog che ho collegato sopra, che è l'unico che ho trovato in dettaglio la modifica, sembra implicare che puoi abilitare il gzipping (soluzioni alternative della barra, che non voglio usare), se opti per l'origine personalizzata, che Preferirei di no: trovo più semplice ospitare i file corrispondenti sul mio server Cloudfront e collegarli ad essi da lì. Nonostante abbia letto attentamente la documentazione, non so:
se la nuova funzionalità significa che i file devono essere ospitati sul mio server di dominio tramite origine personalizzata e, in tal caso, quale impostazione del codice raggiungerà questo obiettivo;
come configurare le intestazioni css e javascript per assicurarsi che vengano servite gzip da Cloudfront.