Je plonge plus profondément dans le développement d'API RESTful et j'ai jusqu'à présent travaillé avec quelques frameworks différents pour y parvenir. Bien sûr, j'ai rencontré la même politique d'origine, et maintenant je me demande comment les serveurs Web (plutôt que les navigateurs Web) l'appliquent. D'après ce que je comprends, une application semble se produire à la fin du navigateur (par exemple, honorer un en-tête Access-Control-Allow-Origin reçu d'un serveur). Mais qu'en est-il du serveur?
Par exemple, supposons qu'un serveur Web héberge une application Web Javascript qui accède à une API, également hébergée sur ce serveur. Je suppose que le serveur appliquerait la même politique d'origine --- afin que seul le javascript hébergé sur ce serveur soit autorisé à accéder à l'API. Cela empêcherait quelqu'un d'autre d'écrire un client javascript pour cette API et de l'héberger sur un autre site, non? Alors, comment un serveur Web pourrait-il arrêter un client malveillant qui essaierait de faire des requêtes AJAX à ses points de terminaison API tout en prétendant exécuter un javascript provenant de ce même serveur Web? Quelle est la façon dont les serveurs les plus populaires (Apache, nginx) protègent contre ce type d'attaque? Ou est-ce que ma compréhension de cela est hors de propos?
Ou la politique d'origine croisée n'est-elle appliquée que du côté client?