Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

š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).