Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
špatná-praxe:chybějící-cors [2019/07/17 10:41] Jakub Klímek vytvořeno |
špatná-praxe:chybějící-cors [2019/07/17 10:46] (aktuální) Jakub Klímek |
||
---|---|---|---|
Řádek 4: | Řádek 4: | ||
V kontextu otevřených dat je ale žádoucí, aby takovým aplikacím byl přístup k datům umožněn. | V kontextu otevřených dat je ale žádoucí, aby takovým aplikacím byl přístup k datům umožněn. | ||
Detailně se způsobu fungování CORS věnuje [[https://enable-cors.org/|web enable-cors.org]] (anglicky), kde lze nalézt i příklady konfigurace pro jednotlivé webservery, či [[https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS|článek o CORS na webu Mozilla]] (anglicky). | Detailně se způsobu fungování CORS věnuje [[https://enable-cors.org/|web enable-cors.org]] (anglicky), kde lze nalézt i příklady konfigurace pro jednotlivé webservery, či [[https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS|článek o CORS na webu Mozilla]] (anglicky). | ||
+ | |||
+ | ===== Symptomy ===== | ||
+ | Při přístupu aplikace běžící v problížeči k otevřeným datům přístupným přes webserver nepodporující CORS je tento přístup zablokován. | ||
+ | V konzoli prohlížeče je hláška podobná této: ''XMLHttpRequest cannot load http://localhost:3000/example. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.''. | ||
+ | |||
+ | ===== Řešení ===== | ||
Pro přístup ke čtení otevřených dat se dá CORS vyřešit velmi zjednodušeně tak, že webový server bude při přístupu ke zdroji (souboru) pomocí HTTP metod ''GET'', ''HEAD'' a ''OPTIONS'' vracet hlavičku ''Access-Control-Allow-Origin'' s hodnotou ''*'', případně ještě hlavičku ''Access-Control-Allow-Methods'' s hodnotou ''GET, HEAD, OPTIONS''. | Pro přístup ke čtení otevřených dat se dá CORS vyřešit velmi zjednodušeně tak, že webový server bude při přístupu ke zdroji (souboru) pomocí HTTP metod ''GET'', ''HEAD'' a ''OPTIONS'' vracet hlavičku ''Access-Control-Allow-Origin'' s hodnotou ''*'', případně ještě hlavičku ''Access-Control-Allow-Methods'' s hodnotou ''GET, HEAD, OPTIONS''. | ||
+ | Pro složitější konfiguraci se řiďte [[https://enable-cors.org/|webem enable-cors.org]] (anglicky). |