Ich arbeite an der Implementierung eines Service-Arbeiters, der eine App-Shell für bestimmte Routen auf meiner Site zwischenspeichert und bereitstellt.Wie berücksichtigen Sie serverseitige Weiterleitungen in einer App-Shell?
Mir läuft ein Problem darin, dass die Route manchmal (basierend auf einem Abfrageparameter, sagen wir) eine Umleitung auf der Serverseite verursachen kann. Sobald der Benutzer jedoch eine App-Shell erhält, trifft er den Server nie wieder und die Weiterleitungen werden nicht ausgeführt.
Dies scheint ein Problem in App-Shells zu sein. Auf der Suche nach Gedanken und Anleitungen zum Umgang mit solchen Fällen.
Zusätzliche Details zur Klarheit:
- Benutzer treffen
https://www.example.com
- Service-Arbeiter installiert ist, anschließend eine App Schale für die
/
Route dienen - Einige Zeit später trifft der Benutzer die Site wieder, aber ihr Konto wurde für eine Sicherheitsüberprüfung gekennzeichnet. Normalerweise würde der Server diese Umleitung handhaben und den Benutzer zum Beispiel auf
https://www.example.com/account/security
- umleiten. Aufgrund der Anwesenheit der App-Shell hat der Server jedoch keine Gelegenheit, eine solche Umleitung durchzuführen.
Wird die Verwendung von https://github.com/GoogleChrome/workbox/issues/631 in einer Produktionsversion von Workbox Ihrem Anwendungsfall zugeordnet? Wir haben geplant, bald eine neue Nebenversion zu schneiden. Oder wenn das Problem, dass Sie nicht sicher sind, wie Sie den Abfrageparameter in Ihre Navigations-URLs einfügen, sobald die App Shell übernimmt? –
@JeffPosnick gerade machen wir manuell in sw-precache, was die obige Änderung uns in der Workbox ermöglichen wird. Aber es gibt immer noch eine offene Frage, wie Sie mit rein serverseitigen Weiterleitungen umgehen, wie zum Beispiel das Lesen aus dem Sitzungsspeicher des Servers und das Weiterleiten basierend auf etwas. – Mike
Die Antwort kann nicht so geschnitten und trocken sein wie "die gleiche Routing-Logik am Frontend implementieren", oder? Wenn dem so ist, scheint es für Nicht-Anwärter ein Problem zu sein, dass Teams wie die unsere riesige Umleitungslogik in ihr serverseitiges Routing eingebaut haben. – Mike