# Same origin policy

Uit veiligheidsredenen bevatten alle browsers enkele beperkingen. Eén van deze beperkingen is de *same origin policy*. Of, met andere woorden, alle gegevens die u via AJAX ophaalt, moeten afkomstig zijn van hetzelfde domein. Hetzelfde domein betekent meer specifiek: dezelfde server, zelfde protocol, zelfde domeinnaam en dezelfde poort. Het is bijvoorbeeld niet mogelijk dat een webpagina op *domeinA* gegevens ophaalt uit *domeinB*.

Er zijn echter twee uitzonderingen. Het ophalen van externe JavaScripts en gegevens in JSONP formaat (let op de P achteraan) zijn wel toegestaan.

**JSONP** staat voor "**JSON** with **P**adding". Wanneer de webserver van *domeinB* zodanig staat geconfigureerd dat deze toelaat dat andere gebruikers zijn gegevens in JSON-formaat mogen ophalen, spreekt men van JSONP. De structuur van een JSON-bestand en van een JSONP-bestand is identiek.

Onderstaande afbeelding toont de AJAX mogelijkheden/beperkingen, rekening houdend met de same origin policy.

![](https://1796208354-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-L9o5lSfK7vREgzWjB4s%2F-L9sGVX9Jz18OlslmFJe%2F-L9sHG6LS_BZxXvL4c9e%2Fsop.png?generation=1523510779229908\&alt=media)

Same origin policy is een beperking van de browser. Ook indien u zonder webserver werkt (*domeinA* is dan de lokale computer) geldt bovenstaand schema.
