Estoy profundizando en el desarrollo de API RESTful y hasta ahora he trabajado con algunos marcos diferentes para lograr esto. Por supuesto, me he encontrado con la política del mismo origen, y ahora me pregunto cómo los servidores web (en lugar de los navegadores web) la aplican. Por lo que entiendo, parece que se aplica algo al final del navegador (por ejemplo, honrar un encabezado Access-Control-Allow-Origin recibido de un servidor). ¿Pero qué hay del servidor?
Por ejemplo, supongamos que un servidor web aloja una aplicación web Javascript que accede a una API, también alojada en ese servidor. Supongo que el servidor aplicaría la política del mismo origen, de modo que solo el javascript alojado en ese servidor podría acceder a la API. Esto evitaría que alguien más escriba un cliente de JavaScript para esa API y lo aloje en otro sitio, ¿verdad? Entonces, ¿cómo podría un servidor web detener a un cliente malintencionado que intentaría realizar solicitudes AJAX a sus puntos finales API mientras afirmaba estar ejecutando JavaScript que se originó en ese mismo servidor web? ¿Cuál es la forma en que los servidores más populares (Apache, nginx) protegen contra este tipo de ataque? ¿O entiendo esto de alguna manera fuera de lugar?
¿O la política de origen cruzado solo se aplica en el extremo del cliente?