Frage

ETags erlauben Browser bedingte GETs auszuführen. Nur wenn die betreffende Ressource geändert wurde, wird die Ressource erneut heruntergeladen werden. Allerdings noch der Browser für den Server reagiert auf seine Anfrage warten.

Eine Alternative zu ETags ist ein Token in die URL, die auf die Ressource einzuführen:

http://example.com/css/styles.css?token=134124134

oder

http://example.com/css/134124134/styles.css

Beide Ansätze vermeiden eine unveränderte Ressource erneut herunterladen zu müssen.

Allerdings mit URLs mit Token ermöglicht der Server, auf der Ressource einen weit Zukunft Ablauf-Header zu setzen. Das spart die Rundreise durch eine bedingte GET aufgenommen -., Wenn die Ressource unverändert ist dann die URL auf sie zeigen unverändert sein wird,

Gibt es irgendwelche Vorteile zu ETags über URLs mit Token verwenden?

War es hilfreich?

Lösung

Der größte Nachteil für Nur-Lese-Ressourcen, dass ich sehe, ist, dass, wenn wir alle diesen Ansatz nahmen für alle statischen Ressourcen dann Client-Cache-Speicher mit allen Arten von veralteten Ressourcen zu füllen beginnen würde.

Auch denken Sie an alle Vermittler-Caches, die halten eine Menge nutzlose Dateien beginnen würde.

Sie kämpfen gegen die Bahn mit diesem Ansatz, und wenn es populär wurde dann etwas würde sich ändern müssen, weil es nicht eine skalierbare Lösung ist.

Könnte es irgendeine Art von Hybrid-Ansatz, in dem Sie eine begrenzte Anzahl von Token verwenden und stellen Sie den Ablauf klein genug, dass eine alte gecached Ressource auslaufen würde, bevor das Token wieder verwendet wurde?

Etags sind auch für die Schreib-Lese-Ressourcen und in diesem Fall verwendete ich vermute, dass die Token-Lösung funktioniert einfach nicht.

Andere Tipps

Ich denke, der größte Unterschied / potentieller Vorteil Konfiguration wäre; Die URL-Einstellung muss innerhalb der Anwendung (zB die HTML tatsächlich muss den Wert), konfiguriert / setup werden. ETags werden für den gesamten Web-Server konfiguriert, und die HTML hat keinen Vorteil von ihnen zu nehmen geändert werden.

Außerdem werden die ETags ändern (vorausgesetzt, sie richtig konfiguriert ist), wenn die Datei auf Änderungen hingewiesen; Hinzufügen eines Token an die URL erfordert einige zusätzliche „Ding“, das es zu ändern erzählt (entweder eine Person die Bearbeitung der HTML oder eine Konfigurationseinstellung, etc).

Haben Sie eine Konstante URI?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top