|
|
Veröffentlicht am 5.8.2020, 20:54:24
|
|
|
|

Wenn ein Browser Ressourcen von einer Webseite eines Domainnamens zu einer anderen anfordert, unterscheiden sich Domainname, Port und Protokoll und sind domänenübergreifend.
Ich habe selbst viel über Cross-Domain geschrieben, wie folgt:
Es gibt auch spezifische Beschreibungen dessen, was Cross-Domain ist:
Der Cross-Domain Resource Sharing Standard fügt eine neue Reihe von HTTP-Headerfeldern hinzu, die es dem Server ermöglichen, über den Browser zu deklarieren, welche Ursprünge auf welche Ressourcen zugreifen. Zusätzlich verlangt die Spezifikation, dass der Browser für HTTP-Anfragemethoden, die Nebenwirkungen auf Serverdaten haben können (insbesondere HTTP-Anfragen außer GET oder bei einigen MIME-Arten von POST-Anfragen), zunächst eine Preflight-Anfrage mit der OPTIONS-Methode initiieren muss, um zu wissen, ob die domänenübergreifende Anfrage vom Server erlaubt ist. Der Server bestätigt, dass dies erlaubt ist, bevor die eigentliche HTTP-Anfrage gemacht wird. Bei der Rückgabe einer Preflight-Anfrage kann der Server den Client auch informieren, ob er Identitätsdaten (einschließlich Cookies und HTTP-authentifizierungsbezogener Daten) mitbringen muss.
HTTP-Zugriffskontrolle (CORS)
Der Hyperlink-Login ist sichtbar.
Letztes Wochenende habe ich auf meiner Blog-Einführungsseite den Titel des Artikels an den Nutzer zurückgegeben, indem ich die Schnittstelle aufrufe, weil sie zu anderen Domainnamen auf zweiter Ebene aufgerufen wurde, sodass es ein domänenübergreifendes Problem gab, die Schnittstelle wurde über eine POST-Anfrage aufgerufen, und ich habe vergessen, die OPTIONS-Anfrage am Anfang zu setzen, sodass der Fehler wie folgt gemeldet wurde:
Die Schnittstelle ist asp.net MVC-Controller geschrieben, daher müssen Sie nur eine weitere OPTIONS-Anfrage hinzufügen und domänenübergreifend zulassen; der Code ist wie folgt:
access-control-allow-headers: *
access-control-allow-methods: GET, POST, PUT, DELETE
access-control-allow-origin: *
cache-control: private
content-length: 0
date: Wed, 05 Aug 2020 12:43:22 GMT
status: 200
(Ende)
|
Vorhergehend:SSIS-Tutorial (7) SQL Server 2012 führt SSIS-Jobs ausNächster:Tencent, Hexun.com, Sina, Snowball, NetEase Aktienschnittstellendaten
|