Ich entwickle die Serverseite mit Cloud Run in Python (Flask) und die Clientseite mit Firebase in Javascript (Vue.js). Python liest und schreibt hauptsächlich Firestore-Daten. Zu diesem Zeitpunkt sind die folgenden zwei Probleme aufgetreten.
Dieser Artikel beschreibt diese Ursachen und Gegenmaßnahmen.
Für 1 wird die OPTIONS-Anforderung als Preflight-Anforderung bezeichnet, und wenn es sich nicht um eine einfache Anforderung handelt, scheint es sich um eine CORS-Anforderung zu handeln, um zu überprüfen, ob das CORS-Protokoll verstanden wird. Dies kann durch Überprüfen der Anforderungseinstellungen auf der Clientseite behoben werden (im Fall der REST-API kann ein Authentifizierungsheader vorhanden sein, der in vielen Fällen übersprungen werden kann). Informationen zur Anfrage vor dem Flug finden Sie auf der folgenden Website. Immerhin war das kein Problem, also das war's.
Dies liegt am HTTP-Cache. ** Als die Antwort auf der Serverseite generiert wurde, lag es daran, dass ich den "Cache-Control-Header" für den HTTP-Cache nicht festgelegt habe **. Infolgedessen wurde die Anforderung ursprünglich nicht an die Cloud-Ausführungsseite gesendet, und der HTTP-Cache in Firebase wurde auf die Clientseite beantwortet. Es gibt kein Problem mit der ersten GET-Kommunikation nach der Bereitstellung, aber selbst wenn Sie den Inhalt von Firestore danach ändern, ist die zweite und nachfolgende GET-Kommunikation mit dem ersten Inhalt identisch.
--HTTP-Cache: [https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching?hl=ja](https://developers.google.com/web/fundamentals/ Leistung / Optimierung der Inhaltseffizienz / http-Caching? hl = ja) --HTTP-Cache (MDN-Webdokumente): https://developer.mozilla.org/ja/docs/Web/HTTP/Caching
Vielleicht, weil es zu allgemein bekannt ist, dass es Webshops gibt, gab es nicht viele solche Artikel, deshalb habe ich es als Memorandum geschrieben.
Recommended Posts