|
|
Zverejnené 5.8.2020 20:54:24
|
|
|
|

Keď prehliadač žiada zdroje z webovej stránky jednej domény na inú doménu, doménové meno, port a protokol sa líšia a sú naprieč doménami.
Sám som veľa písal o cross-domain, nasledovne:
Existujú aj špecifické opisy toho, čo je cross-domain:
Cross-Domain Resource Sharing Standard pridáva novú sadu HTTP hlavičkových polí, ktoré umožňujú serveru deklarovať, ktoré zdroje majú prístup ku ktorým zdrojom cez prehliadač. Okrem toho špecifikácia vyžaduje, aby pri HTTP požiadavkách, ktoré môžu mať vedľajšie účinky na serverové dáta (najmä HTTP požiadavky iné než GET, alebo pri niektorých MIME typoch POST požiadaviek), musel prehliadač najprv iniciovať predletovú požiadavku pomocou metódy OPTIONS, aby zistil, či server umožňuje požiadavku medzi doménami. Server potvrdí, že je povolený, ešte pred vykonaním samotnej HTTP požiadavky. V odpovedi predletovej požiadavky môže server tiež informovať klienta, ak potrebuje priniesť identifikačné údaje (vrátane cookies a údajov súvisiacich s HTTP autentifikáciou).
HTTP Access Control (CORS)
Prihlásenie na hypertextový odkaz je viditeľné.
Minulý víkend som na úvodnej stránke môjho blogu vrátil používateľovi názov článku vo forme volania rozhrania, pretože bol volaný na iné domény druhej úrovne, takže nastal problém naprieč doménami, rozhranie bolo prístupné cez POST požiadavku a zabudol som nastaviť požiadavku OPTIONS na začiatku, takže chyba bola hlásená nasledovne:
Rozhranie je napísané asp.net mvc kontroléri, takže stačí pridať ďalší OPTIONS request a povoliť cross-domain, kód je nasledovný:
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)
|
Predchádzajúci:SSIS tutoriál (7) SQL Server 2012 vykonáva SSIS úlohyBudúci:Dáta rozhrania Tencent, Hexun.com, Sina, Snowball, NetEase
|