Ich beschäftige mich eingehender mit der Entwicklung von RESTful-APIs und habe bisher mit einigen verschiedenen Frameworks gearbeitet, um dies zu erreichen. Natürlich bin ich auf die Richtlinie mit demselben Ursprung gestoßen, und jetzt frage ich mich, wie Webserver (und nicht Webbrowser) dies erzwingen. Soweit ich weiß, scheint eine gewisse Durchsetzung am Ende des Browsers zu erfolgen (z. B. das Einhalten eines von einem Server empfangenen Access-Control-Allow-Origin-Headers). Aber was ist mit dem Server?
Angenommen, ein Webserver hostet eine Javascript-Webanwendung, die auf eine API zugreift, die ebenfalls auf diesem Server gehostet wird. Ich gehe davon aus, dass der Server dieselbe Richtlinie erzwingt, sodass nur das auf diesem Server gehostete Javascript auf die API zugreifen kann. Dies würde jemanden davon abhalten, einen Javascript-Client für diese API zu schreiben und auf einer anderen Site zu hosten, oder? Wie kann ein Webserver einen böswilligen Client stoppen, der versucht, AJAX-Anforderungen an seine API-Endpunkte zu senden, während er behauptet, Javascript auszuführen, das von demselben Webserver stammt? Wie schützen die meisten gängigen Server (Apache, Nginx) vor solchen Angriffen? Oder ist mein Verständnis davon irgendwie falsch?
Oder wird die ursprungsübergreifende Richtlinie nur auf Client-Seite durchgesetzt?