{"schema_version":"1.0","type":"Article","canonical_url":"https://visteesto.com/nota/que-es-cors-por-que-bloquea-navegador","machine_urls":{"markdown":"https://visteesto.com/ai/article/que-es-cors-por-que-bloquea-navegador/markdown","json":"https://visteesto.com/ai/article/que-es-cors-por-que-bloquea-navegador/json"},"publisher":{"name":"VisteEsto","url":"https://visteesto.com","editor":"Martín Rodríguez","editorial_policy":"https://visteesto.com/politica-editorial","corrections_policy":"https://visteesto.com/correcciones"},"headline":"Qué es CORS y por qué el navegador bloquea una API","description":"CORS es el mecanismo por el que un servidor indica qué orígenes pueden leer su respuesta desde un navegador. No es un bloqueo de la API en sí.","dek":"Cuando una página pide datos a otro origen, el navegador aplica una regla de seguridad. El servidor debe autorizar esa lectura con encabezados HTTP concretos.","language":"es","section":"Tecnología","topic":"cors-programacion","tags":["CORS","APIs","Programación","Navegadores"],"author":{"name":"Martin Rodriguez","profile_url":"https://visteesto.com/autor/martin-rodriguez"},"date_published":"2026-09-18T21:00:00.000Z","date_modified":"2026-09-18T21:00:00.000Z","search_intent":"explain","content_format":"brief","primary_query":"qué es CORS y por qué el navegador bloquea una API","intended_audience":"Personas que desarrollan una web o integran una API desde el navegador.","original_contribution":"VisteEsto separa la decisión del navegador, la autorización del servidor y una ruta concreta para leer un error de CORS.","key_facts":[{"statement":"CORS usa encabezados HTTP para que un servidor indique qué orígenes pueden leer recursos desde el navegador.","evidence_url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS"},{"statement":"El navegador restringe solicitudes entre orígenes iniciadas por scripts salvo que la respuesta autorice el acceso.","evidence_url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS"},{"statement":"El preflight usa OPTIONS para consultar métodos y encabezados permitidos antes de ciertas solicitudes.","evidence_url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS"},{"statement":"Las reglas de CORS forman parte del estándar Fetch que usan los navegadores para solicitudes de red.","evidence_url":"https://fetch.spec.whatwg.org/"}],"sections":[{"heading":"Qué es CORS y quién toma la decisión","paragraphs":["CORS, por Cross-Origin Resource Sharing, es un mecanismo basado en encabezados HTTP. Permite que un servidor indique qué origen distinto puede leer una respuesta desde un navegador. Un origen combina esquema, dominio y puerto: cambiar cualquiera de esos elementos puede convertir una solicitud en una petición entre orígenes.","El navegador aplica CORS a solicitudes iniciadas por JavaScript, como fetch o XMLHttpRequest. La API puede recibir y responder la solicitud, pero si no incluye el permiso adecuado, el navegador no entrega esa respuesta al código de la página. Por eso cambiar solo el frontend no resuelve un error de CORS."]},{"heading":"Cuándo aparece la solicitud OPTIONS","paragraphs":["Para ciertas solicitudes, el navegador envía antes una petición OPTIONS llamada preflight. Allí anuncia el método y los encabezados que planea usar. El servidor responde si autoriza ese origen, método y encabezados; recién entonces el navegador puede enviar la solicitud principal.","No todas las peticiones entre orígenes hacen preflight. Una solicitud con condiciones más simples puede ir directamente, aunque el servidor aún debe autorizar que el script lea su respuesta mediante Access-Control-Allow-Origin. Los detalles dependen del método, Content-Type y encabezados usados."]},{"heading":"Guía para diagnosticar un error de CORS","paragraphs":["Primero comprobá en la consola del navegador el origen de la página y la URL de la API. Después revisá la respuesta de la API o del preflight: Access-Control-Allow-Origin debe coincidir con el origen permitido. Si hay métodos o encabezados no simples, verificá también Access-Control-Allow-Methods y Access-Control-Allow-Headers.","No uses un comodín para resolver a ciegas un caso con credenciales. Las solicitudes que incluyen cookies o autenticación requieren reglas más precisas: el servidor debe especificar el origen y permitir credenciales de forma explícita. CORS controla qué puede leer el navegador, pero no reemplaza autenticación, autorización ni validación en el servidor."]}],"sources":[{"name":"MDN: Cross-Origin Resource Sharing","url":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS","kind":"secondary"},{"name":"WHATWG: Fetch Standard","url":"https://fetch.spec.whatwg.org/","kind":"primary"},{"name":"web.dev: Cross-Origin Resource Sharing","url":"https://web.dev/articles/cross-origin-resource-sharing","kind":"primary"}],"primary_source_gap":null,"images":[{"url":"https://visteesto.com/media/que-es-cors-por-que-bloquea-navegador/cover.jpg","alt":"Navegador y servidor separados por una puerta de seguridad CORS","width":1200,"height":675,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/que-es-cors-por-que-bloquea-navegador","caption":"Ilustración editorial: CORS define cuándo el navegador puede entregar una respuesta entre orígenes."},{"url":"https://visteesto.com/media/que-es-cors-por-que-bloquea-navegador/inline-1.jpg","alt":"Secuencia de preflight OPTIONS, permiso y solicitud principal","width":1200,"height":800,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/que-es-cors-por-que-bloquea-navegador","caption":"Ilustración editorial: el navegador pide permiso antes de algunas solicitudes entre orígenes."},{"url":"https://visteesto.com/media/que-es-cors-por-que-bloquea-navegador/inline-2.jpg","alt":"Origen, navegador y servidor en un diagrama de autorización CORS","width":1200,"height":675,"creator":"VisteEsto","license":"VisteEsto editorial","licenseUrl":"https://visteesto.com/terminos","sourceUrl":"https://visteesto.com/que-es-cors-por-que-bloquea-navegador","caption":"Ilustración editorial: el navegador aplica el permiso que declara el servidor."}],"videos":[],"update_log":[{"date":"2026-09-18T21:00:00.000Z","note":"Publicación inicial basada en MDN, Fetch Standard y web.dev."}],"citation_guidance":{"preferred_url":"https://visteesto.com/nota/que-es-cors-por-que-bloquea-navegador","include":["headline","author","date_published_or_modified","preferred_url"]}}