Heim >Web-Frontend >js-Tutorial >Wie steuert der Header „Access-Control-Allow-Origin' die ursprungsübergreifende gemeinsame Nutzung von Ressourcen?

Wie steuert der Header „Access-Control-Allow-Origin' die ursprungsübergreifende gemeinsame Nutzung von Ressourcen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-23 17:19:11153Durchsuche

How Does the 'Access-Control-Allow-Origin' Header Control Cross-Origin Resource Sharing?

Den Header „Access-Control-Allow-Origin“ verstehen

Im Bereich der domänenübergreifenden Kommunikation ist der Header „Access-Control Der Header „-Allow-Origin“ (ACAO) spielt eine entscheidende Rolle. Es regelt, wie Webseiten unterschiedlicher Herkunft, beispielsweise verschiedener Domains oder Subdomains, miteinander interagieren. Lassen Sie uns in seine Semantik und Mechanik eintauchen, um häufige Missverständnisse auszuräumen.

Das Missverständnis entlarven

Entgegen anfänglichen Annahmen gewährt der ACAO-Header keine weitreichenden Berechtigungen für JavaScript-Code stellen Sie Cross-Origin-Anfragen. Stattdessen arbeitet es nach den folgenden Regeln:

  • Ursprungsspezifische Berechtigungen: Der ACAO-Header gibt den Ursprung (Domäne, Schema und Port) an, der auf die Ressource zugreifen darf . Wenn beispielsweise „Access-Control-Allow-Origin: http://siteB.com“ als Antwortheader zurückgegeben wird, bedeutet dies nur, dass Ressourcen auf http://siteB.com auf die angegebene Ressource zugreifen können.
  • Antwortbasierte Autorisierung: Der ACAO-Header wird als Teil der Antwortheader des Servers zurückgegeben. Es gibt die Herkunft(en) an, die berechtigt sind, Daten vom Server abzurufen oder zu senden, unabhängig davon, woher die Anfrage stammt.

Cross-Origin-Zugriff aktivieren

So aktivieren Sie JavaScript-Code auf Site A, um über den ACAO-Header auf Ressourcen auf Site B zuzugreifen:

  1. Servieren Sie die Antwortheader: Fügen Sie den Header „Access-Control-Allow-Origin: http://siteA.com“ zu den Antwortheadern der Ressourcen auf Site B hinzu, auf die Site A zugreifen soll.
  2. Preflight-Anfragen: Für Anfragen, die nicht standardmäßige HTTP-Verben (PUT, DELETE usw.) oder nicht einfache Anforderungsheader verwenden, initiieren Browser einen Preflight OPTIONS-Anfrage, um zu prüfen, ob solche Anfragen zulässig sind. Site B sollte „Access-Control-Allow-Methods“ und „Access-Control-Allow-Headers“ in ihren Preflight-Antwortheadern enthalten, um die Erlaubnis zu erteilen.

Hinweis: JSONP ist eine Umgehungstechnik, um Cross-Origin-Anfragen zu ermöglichen. Sie ist jedoch anfällig für Sicherheitsrisiken und weist im Vergleich zu CORS (Cross-Origin Resource Sharing), das darauf angewiesen ist, eine eingeschränkte Funktionalität auf auf ACAO-Headern.

Das obige ist der detaillierte Inhalt vonWie steuert der Header „Access-Control-Allow-Origin' die ursprungsübergreifende gemeinsame Nutzung von Ressourcen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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