Aus Sicherheitsgründen lassen moderne Browser Ajax-Requests über
Domaingrenzen hinweg nur dann zu, wenn die angefragte Resource die
anfragende Domain "kennt". Ob dies der Fall ist, teilt die Resource
dem Browser über den HTTP-Header Access-Control-Allow-Origin mit:
Access-Control-Allow-Origin: <origin>
Liefert die angefragte Resource diesen Header nicht oder passt <origin>
nicht zur anfragenden Seite, verwirft der Browser die Response.
Firefox z.B. schreibt dann die Warnung ins Console Log
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ...
mit dem Zusatz
(Reason: CORS header 'Access-Control-Allow-Origin' missing)
wenn der Header fehlt, oder
(Reason: CORS header 'Access-Control-Allow-Origin' does not match '...')
wenn <origin> nicht passt.
Möchte die angefragte Resource Zugriffe von jeglichen Domains zulassen,
liefert sie einfach
Access-Control-Allow-Origin: *
Möchte sie den Zugriff von mehreren (aber nicht allen) Domains
zulassen, muss sie <origin> dynamisch zur jeweils anfragenden Seite
setzen, die ihre Origin unter dem Header Origin: sendet.
Links