Encabezados de CORS

Generalidades

Cross Origin Resource Sharing (CORS) permite que se soliciten recursos restringidos en un sitio web desde otro dominio fuera del dominio desde el que se sirvió originalmente.

Este ejemplo explica cómo funciona esto:

  • El sitio A agrega encabezados CORS para permitir el acceso del sitio B a un recurso en el sitio A, como por ejemplo una fuente.
  • El sitio B puede acceder a ese recurso debido al encabezado CORS.

Sin el encabezado CORS, el sitio B no podría acceder al recurso en el sitio A. Consulta las siguientes páginas para obtener más detalles.

Solo ciertas solicitudes usan CORS

Las siguientes solicitudes usan CORS.

¿Qué significa esto?

Esto significa que las solicitudes a archivos como index.html no utilizarán CORS. Sin embargo, una solicitud a una fuente o archivo CSS utilizará CORS.

Agregar encabezados CORS

Los siguientes enlaces explican los encabezados CORS con más detalle.

Los siguientes son dos ejemplos simples de cómo agregar encabezados CORS a tu sitio.

Valores Wildcard (Comodín)

Este ejemplo usa comodines para cada encabezado CORS:

Header add Access-Control-Allow-Origin: "*"
Header add Access-Control-Allow-Methods: "*"
Header add Access-Control-Allow-Headers: "*"

Valores específicos

Este ejemplo usa valores específicos para cada encabezado CORS:

Header add Access-Control-Allow-Origin: "https://example.com"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"
Header add Access-Control-Allow-Headers: "Upgrade-Insecure-Requests"

Probar los encabezados CORS

Puedes ejecutar el comando curl (vía SSH) para verificar que tus encabezados CORS estén funcionando.

Asegúrate de que la URL que ingreses sea de un activo específico en tu sitio. El siguiente ejemplo está verificando el archivo style.css del sitio.

Si solo verificas la página index.html, no se devolverán los encabezados CORS.

[server]$ curl -I https://example.com/style.css
HTTP/1.1 200 OK
Date: Tue, 10 Dec 2019 20:06:59 GMT
Server: Apache
Upgrade: h2
Connection: Upgrade
Last-Modified: Wed, 04 Dec 2019 21:53:08 GMT
ETag: "2d-598e7d69349fd"
Accept-Ranges: bytes
Content-Length: 45
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Methods: DELETE,PUT,OPTIONS,DELETE,PUT
Access-Control-Allow-Headers: Upgrade-Insecure-Requests
Content-Type: text/css

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?