|
|
Opublikowano 2020-8-5 20:54:24
|
|
|
|

Gdy przeglądarka żąda zasobów ze strony o jednej nazwie domeny na inną, nazwa domeny, port i protokół różnią się i są one międzydomenowe.
Sam dużo pisałem o cross-domain, w następujący sposób:
Istnieją także szczegółowe opisy, czym jest międzydomena:
Standard Cross-Domain Resource Sharing Standard dodaje nowy zestaw pól nagłówków HTTP, które pozwalają serwerowi deklarować, które źródła mają dostęp do których zasobów przez przeglądarkę. Ponadto specyfikacja wymaga, aby dla metod HTTP request, które mogą mieć skutki uboczne dla danych serwera (szczególnie dla zapytań HTTP innych niż GET, lub w przypadku niektórych typów MIME zażądań POST), przeglądarka musiała najpierw zainicjować żądanie przedlotowe za pomocą metody OPTIONS, aby sprawdzić, czy żądanie międzydomenowe jest dozwolone przez serwer. Serwer potwierdza, że jest dozwolony, zanim wykona faktyczne żądanie HTTP. W odpowiedzi na żądanie przedlotowe serwer może również poinformować klienta, jeśli musi przynieść dane dane tożsamości (w tym ciasteczka i dane związane z uwierzytelnianiem HTTP).
Kontrola dostępu HTTP (CORS)
Logowanie do linku jest widoczne.
W zeszły weekend, na stronie wprowadzającej mojego bloga, zwróciłem tytuł artykułu użytkownikowi w formie wywołania interfejsu, ponieważ był on wywoływany do innych domen drugiego poziomu, więc wystąpił problem międzydomenowy, interfejs został uzyskany przez żądanie POST, a ja zapomniałem ustawić żądanie OPTIONS na początku, więc błąd został zgłoszony następująco:
Interfejs jest napisany asp.net kontrolerze mvc, więc wystarczy dodać kolejne żądanie OPTIONS i zezwolić na połączenie między domenami, a kod wygląda następująco:
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
(Koniec)
|
Poprzedni:Tutorial SSIS (7) SQL Server 2012 wykonuje zadania SSISNastępny:Dane stockowego interfejsu Tencent, Hexun.com, Sina, Snowball, NetEase
|