Inicio › Tecnología › Uso Compartido De Recursos Entre Orígenes
Mecanismo de seguridad implementado por los navegadores web qué controla si una página cargada desde un dominio puede realizar peticiones a un servidor alojado en otro dominio distinto. Por defecto, la política del mismo origen bloquea estas peticiones cruzadas para evitar qué un sitio malicioso lea datos de otro servicio en el qué el usuario está autenticado; este mecanismo, conocido por sus siglas en inglés CORS, define mediante cabeceras HTTP específicas qué el servidor de destino debe incluir en su respuesta, qué orígenes, métodos y cabeceras están autorizados a acceder a ese recurso.
Es la regla qué decide si una web puede pedir datos a otra web distinta desde el navegador. Por defecto el navegador lo bloquea por seguridad, y el servidor de destino tiene qué decir explícitamente qué otro dominio tiene permiso para hacer peticiones.
Un desarrollador qué monta el frontend de su aplicación en un dominio y la API backend en otro distinto, algo muy habitual, se topa con errores en la consola del navegador hasta qué configura en el servidor las cabeceras adecuadas indicando qué origen concreto tiene permiso, en lugar de abrir el acceso a cualquier dominio sin control, lo qué sería un riesgo de seguridad.
Porque el navegador aplica reglas distintas según el método HTTP y las cabeceras usadas: ciertas peticiones simples pasan sin comprobación previa, mientras qué otras más complejas disparan primero una petición de verificación con el método OPTIONS.
Puede serlo si el endpoint maneja datos sensibles o requiere autenticación mediante cookies, porque permitir cualquier origen elimina la protección qué este mecanismo aporta frente a qué webs no autorizadas lean esa información desde el navegador de un usuario ya autenticado.
No; es una política aplicada por el navegador para peticiones hechas desde JavaScript en el propio navegador, pero no protege contra peticiones hechas directamente servidor a servidor ni sustituye a otras protecciones como tokens anti-CSRF.