Definice a význam CORS (Cross-Origin Resource Sharing)

Co je CORS (Cross-Origin Resource Sharing)?

Zkratka pro „Cross-Origin Resource Sharing“. CORS umožňuje skriptům na webových stránkách požadovat zdroje z jiných domén. Většina webových prohlížečů tyto typy požadavků ve výchozím nastavení z bezpečnostních důvodů blokuje.

Webová stránka může požadovat zdroje z jiné domény – pokud požadavky pocházejí z HTML. Například část <head> může odkazovat na zdroje, jako jsou soubory CSS, fonty a JS soubory jiných domén. Příkladem mohou být skripty Google Analytics, knihovny jQuery a písma hostovaná na jiném serveru. Podobně může <body> požadovat obrázky z CDN nebo jiné domény. Požadavky na křížové zdroje v HTML nevyžadují oprávnění CORS.

Pokud skript nebo prvek iframe provádí požadavek na křížový zdroj, je vyžadováno oprávnění CORS. Například metoda AJAX – která se spouští po načtení stránky – nemůže požadovat prostředek z jiné domény. CORS toto výchozí nastavení prohlížeče přepíše a umožní požadavku projít.

CORS je implementován pomocí „řízení přístupu“ HTTP hlaviček. Správce serveru může přidávat nebo upravovat hlavičky odpovědi, které jsou odesílány do prohlížeče klienta při přístupu na webovou stránku. Tato nastavení, která lze použít pro servery Apache a IIS, mohou být specifická pro konkrétní web nebo pro celý server. Níže jsou uvedeny běžné hlavičky požadavku a odpovědi:

Hlavičky požadavku CORS:

* Origin
* Access-Control-Request-Method
* Access-Control-Request-Headers

Hlavičky odpovědi CORS:

* Access-Control-Allow-Origin
* Access-Control-Allow-Methods
* Access-Control-Expose-Headers

Příklad CORS

Pokud skript na webu techterms.com požádá o zdroj z webu sharpened.com pomocí akce GET, může odeslat následující hlavičky požadavku:

Origin: https://techterms.com
Access-Control-Request-Method: Pro povolení požadavku může stránka sharpened.com odpovědět následujícími hlavičkami:
Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET

Access-Control-Allow-Origin can be set to specific domains or a wildcard using an asterisk (*). The wildcard setting allows cross-resource requests from all domains, which may be a security risk. Access-Control-Allow-Methods can be set to PUT, POST, DELETE, and others, including a wildcard (*) setting that allows all methods.

 

Definice CORS (Cross-Origin Resource Sharing) na této stránce je původní definice na SharTec.eu. Pokud chcete na tuto stránku odkázat, nezapomeňte uvést zdroj článku.

Cílem webu SharTec.eu je srozumitelně vysvětlit počítačovou terminologii. Snažíme se o jednoduchost a přesnost každé definice, kterou zveřejňujeme. Pokud máte připomínky k definici jazyka CORS (Cross-Origin Resource Sharing) nebo chcete navrhnout nový technický termín, kontaktujte nás.

Cieľom stránky SharTec.eu je vysvetľovať počítačovú terminológiu zrozumiteľným spôsobom. Pri každej uverejnenej definícii sa snažíme o jednoduchosť a presnosť. Ak máte pripomienky k definícii jazyka CORS (Cross-Origin Resource Sharing) alebo chcete navrhnúť nový technický termín, kontaktujte nás.