Heim > Web-Frontend > js-Tutorial > Warum blockiert meine CORS-Richtlinie Anforderungen von „https://example.com/' mit einem abschließenden Schrägstrich?

Warum blockiert meine CORS-Richtlinie Anforderungen von „https://example.com/' mit einem abschließenden Schrägstrich?

Barbara Streisand
Freigeben: 2024-11-03 15:46:03
Original
439 Leute haben es durchsucht

Why Does My CORS Policy Block Requests from 'https://example.com/' with a Trailing Slash?

Der Zugriff vom Ursprung „https://example.com/“ wurde durch die CORS-Richtlinie blockiert: Antwort auf Preflight-Anfrage besteht die Zugriffskontrollprüfung nicht: Ja hat keinen HTTP-OK-Status.

TL;DR


Webursprünge enthalten keinen Pfad. Dementsprechend ist https://googledocs-clone-sbayrak.netlify.app/ kein ein gültiger Webursprung. Lassen Sie den abschließenden Schrägstrich weg.

Weitere Details zu CORS's Web Origins


Kein abschließender Schrägstrich im Wert des Origin-Headers zulässig


Gemäß dem CORS-Protokoll (spezifiziert im Fetch-Standard) setzen Browser den Origin-Anforderungsheader niemals auf einen Wert mit einem abschließenden Schrägstrich. Wenn also eine Seite unter https://googledocs-clone-sbayrak.netlify.app/whatever eine Cross-Origin-Anfrage ausgibt, enthält der Origin-Header dieser Anfrage

https://googledocs-clone-sbayrak.netlify.app
Nach dem Login kopieren

ohne abschließenden Schrägstrich.

Byte-für-Byte-Vergleich auf der Serverseite


Sie verwenden Socket.IO, das auf dem Cors-Paket von Node.js basiert. Dieses Paket legt in der Antwort keinen Access-Control-Allow-Origin fest, wenn der Ursprung der Anfrage nicht genau mit dem Ursprungswert Ihrer CORS-Konfiguration übereinstimmt (https://googledocs-clone-sbayrak.netlify.app/).

Alles zusammenfügen


Offensichtlich

'https://googledocs-clone-sbayrak.netlify.app' ===
'https://googledocs-clone-sbayrak.netlify.app/'
Nach dem Login kopieren

wird als falsch ausgewertet, was dazu führt, dass das cors-Paket keinen Access-Control-Allow-Origin festlegt -Header in der Antwort, was dazu führt, dass die CORS-Prüfung in Ihrem Browser fehlschlägt, daher der CORS-Fehler, den Sie beobachtet haben.

Beispiel aus dem Fetch-Standard


Abschnitt 3.2.5 von Der Fetch-Standard liefert sogar ein aufschlussreiches Beispiel für diesen Fehler:

Access-Control-Allow-Origin: https://rabbit.invalid/
Nach dem Login kopieren

und erklärt, warum er dazu führt, dass die CORS-Prüfung fehlschlägt:


A Der serialisierte Ursprung hat keinen abschließenden Schrägstrich.


Das obige ist der detaillierte Inhalt vonWarum blockiert meine CORS-Richtlinie Anforderungen von „https://example.com/' mit einem abschließenden Schrägstrich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage