CORS (Cross-Origin Resource Sharing) è un meccanismo standard che consente alle chiamate XMLHttpRequest (XHR) eseguite in una pagina web di interagire con risorse di origini diverse. Senza CORS, il criterio della stessa origine applicato da tutti i browser impedirebbe le richieste cross-origin. Per ulteriori informazioni di base su CORS, consulta la documentazione di riferimento di Mozilla Developer Network (MDN).
Lo standard CORS richiede che i client web emettano un preflight CORS OPTIONS
per determinare se il server web richiesto supporta CORS. Se un server web supporta la richiesta CORS, gestirà la richiesta OPTIONS
con le intestazioni di risposta CORS appropriate.
Gestire CORS nell'applicazione di backend
Se il tuo backend supporta CORS, puoi configurare ESP o ESPv2 in modo che trasmetta la richiesta CORS al tuo backend. Puoi attivare il passaggio nella specifica OpenAPI per la tua API come mostrato di seguito:
swagger: "2.0" host: "my-cool-api.endpoints.my-project-id.cloud.goog" x-google-endpoints: - name: "my-cool-api.endpoints.my-project-id.cloud.goog" allowCors: True
Gestire CORS con ESP o ESPv2
Se il tuo backend non supporta CORS, puoi configurare ESP o ESPv2 per gestire le richieste CORS specificando i flag di avvio CORS. In questo approccio, le richieste di preflight CORS non verranno trasmesse all'applicazione di backend. Inoltre, ESP o ESPv2 aggiungerà le intestazioni CORS configurate alle risposte del servizio di backend, se opportuno.
Per ESP ed ESPv2 sono disponibili le seguenti opzioni di avvio CORS