2017-06-15 2 views
0

Wir haben 2 Anwendungen (auf der gleichen Domain). Anwendung 1 ist der Verbraucher und verwendet immer die neueste Javascript-Datei von Anwendung 2.Cache Busting ohne Version oder Hash

In Anwendung 1:

Wie wir die file.js in Anwendung 2, ohne zu fragen Anwendung 1 aktualisieren, um die Änderung und bereitstellen Code? Ein Benutzer von Anwendung 1 sollte STRG + F5 nicht ausführen oder Cache löschen müssen.

Was wäre die beste Technik, während das Cachebusting funktioniert?

+0

Cache-Einstellungen so ziemlich gesetzt werden zu die HTTP-Header-Ebene und sind die Domäne des Webservers. Es würde helfen, wenn Sie mehr Details über Ihre Serverkonfiguration und was Sie bisher versucht haben. –

+0

Windows-Server mit IIS. In IIS haben wir mehrere Anwendungen unter derselben Domäne, die von mehreren Teams verwaltet werden. Einige Anwendungen (Hersteller) innerhalb dieser Domäne stellen JS-Komponenten bereit, die von den anderen Anwendungen (Consumern) verwendet werden. Die Hersteller müssen in der Lage sein, neue Versionen bereitzustellen, ohne dass die Verbraucher den Code anpassen und bereitstellen müssen. –

+1

Sie könnten Zeitstempel in Anwendung 1 für Cache-Busting verwenden, aber das wollen Sie wirklich nicht. Stellen Sie einfach eine angemessene http-Zwischenspeicherung von Anwendung 2 - mit Etags zur Verfügung. – Bergi

Antwort

1

Caching wird über HTTP-Header gesteuert und ist daher auf Web-Server-Ebene konfiguriert. Da Sie IIS verwenden, können diese diese Anweisungen ausgeführt werden: https://support.microsoft.com/en-us/help/247404/how-to-modify-the-cache-control-http-header-when-you-use-iis

MDN bietet eine schöne Referenz über den Cache-Control-Header, einschließlich einer Diskussion über Browser-Unterstützung hier: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control#Examples

Verwandte Themen