Sto utilizzando il CDN di Amazon Cloudfront per asset statici. Couldfront emette un Etag per ogni richiesta GET. Ho impostato metadati per tutte le mie risorse con specifiche informazioni di Cache-Control, che (come ho capito) rendono l'Etag superfluo. Metto alla prova le prestazioni di carico del mio sito su WebPageTest.org e mi ammazza per questi Etags inutili. Se sono in realtà inutili, qualcuno sa di un modo per sopprimere il loro essere emessi?Posso escludere l'emissione dell'intestazione Etag su AWS Cloudfront?
risposta
Se Cloudfront offre Etags coerenti a prescindere dal nodo da cui si scarica l'asset, questo dovrebbe minimizzare il problema. Ho provato questo facendo quanto segue:
Risolvendo a Cloudfront da due posizioni diverse, ho verificato che i CNAME risolti in insiemi di indirizzi IP completamente diversi. Il primo server ha risolto un insieme di 8 indirizzi IP nel data center LAX di Amazon (lax1.cloudfront.net), il secondo server ha risolto 8 indirizzi IP nel data center SFO di Amazon (sfo4.cloudfront.net).
Ho selezionato un oggetto nella nostra distribuzione Cloudfront e ho fatto un "wget --server-response" da ogni posizione, quindi confrontato i risultati. Ho fatto questo per ogni centro dati più volte per ottenere risposte da diversi indirizzi IP in ogni datacenter.
I risultati sono stati che gli Etags erano gli stessi, i punti di riferimento di quale centro dati ho colpito e quale indirizzo IP ha risposto da quel datacenter.
Ho notato che le seguenti intestazioni sono state osservate differenze tra i server x-AMZ-id-2 x-AMZ-richiesta-id Age X-Amz-Cf-Id Via
Spero che questo aiuti ,
David
[a cura - commenti rimossi su etags basate su buona correzione sotto]
Questo non è vero, le prestazioni web monitorano bug su intestazioni Etag e Last-Modified perché queste due causano viaggi di andata e ritorno non necessari sul server anche quando si ha un'estensione massima molto lunga nell'intestazione Cache-Control. Se l'Etag (e l'ultima modifica) sono usati correttamente, il risultato di questi round trip sarà il codice di stato 304. Ma la differenza qui è 300ms vs. 2ms (cache del browser) e può accumularsi se si usano molte risorse statiche (css , js, immagini). – Evgeny
Se si utilizza un Ser Origin ver e disabilitato ETag sul server di origine, CloudFront non aggiungerebbe ETag nelle intestazioni. L'ho verificato disabilitando ETag sul mio server di origine.
C'è un modo per sopprimere Etag e Last-Modified quando si utilizza CloudFront direttamente da S3? – saver
- 1. distribuzione di un'app angolare su aws cloudfront
- 2. Abilitare POST/PUT/DELETE su AWS CloudFront?
- 3. Benchmarking di AWS Cloudfront
- 4. Sopravvivere a un riavvio con AWS CloudFront
- 5. Come configurare ETag su Nginx
- 6. Escludere più cartelle utilizzando AWS S3 syn
- 7. AWS CloudFront Problema per file di errore personalizzato: Messaggio AccessDenied
- 8. Gateway API AWS con AWS WAF
- 9. Impossibile ottenere Azure TableEntity etag su CreateQuery
- 10. CloudFront: stima dei costi
- 11. Cloudfront CNAME vs DNS CNAME
- 12. Heroku + Rails4.2: Configurazione Cloudfront
- 13. Rimuovi Etag da favicon.ico
- 14. AFNetworking - Richieste con ETag
- 15. HTTP: generazione dell'intestazione ETag
- 16. ETag vs Expires
- 17. Android OkHttp come gestire ETag
- 18. Mysterious CloudFront "Bad request"
- 19. MapReduce su AWS
- 20. File raw GitHub - Algoritmo Etag
- 21. Come posso aggiornare i file sul CDN di Amazon (CloudFront)?
- 22. Come posso utilizzare le variabili ambientali su AWS Lambda?
- 23. Posso modificare l'IP pubblico di AWS Lambda su ogni richiesta?
- 24. Amazon CloudFront Versioning 'index.html'
- 25. Rails Passenger Glyphicon CORS Cloudfront NGINX Edizione
- 26. Come scegliere un profilo AWS quando si utilizza boto3 per connettersi a CloudFront
- 27. Gli ETAG HTTP devono essere case sensitive?
- 28. Cloudfront, EC2 e URL relativi
- 29. indirizzo IP firmato cloudfront indirizzo IP
- 30. memcached-session-manager su AWS
Qualsiasi aggiornamento su questo? ETag sta forzando richieste di ottenere multiple (anche quando sono impostati Scade e età max). –