CORS
Significa "Cross-Origin Resource Sharing". CORS permite que los scripts de las páginas web soliciten recursos de otros dominios. La mayoría de los navegadores web bloquean este tipo de solicitudes de forma predeterminada por motivos de seguridad.
Una página web puede solicitar recursos de otro dominio, siempre que las solicitudes provengan del HTML. Por ejemplo, la sección <head> puede hacer referencia a recursos, como archivos CSS, fuentes y archivos JS de otros dominios. Algunos ejemplos son los scripts de Google Analytics, las bibliotecas jQuery y las fuentes alojadas en otro servidor. De forma similar, <body> puede solicitar imágenes de una CDN u otro dominio. Las solicitudes de recursos de origen cruzado en el HTML no requieren permisos de CORS.
Cuando un script o un elemento iframe realiza una solicitud de origen cruzado, se requiere CORS. Por ejemplo, un método AJAX —que se ejecuta después de que se carga la página— no puede solicitar un recurso de otro dominio. CORS reemplaza esta configuración predeterminada del navegador y permite que la solicitud se complete.
CORS se implementa mediante encabezados HTTP de "control de acceso". Un administrador del servidor puede agregar o modificar los encabezados de respuesta que se envían al navegador del cliente cuando se accede a una página web. Estas configuraciones, que pueden aplicarse a servidores Apache e IIS, pueden ser específicas de un sitio o de todo el servidor. A continuación se muestran encabezados comunes de solicitud y respuesta:
Encabezados de solicitud de CORS:
- Origin
- Access-Control-Request-Method
- Access-Control-Request-Headers
Encabezados de respuesta de CORS:
- Access-Control-Allow-Origin
- Access-Control-Allow-Methods
- Access-Control-Expose-Headers
Ejemplo de CORS
Si un script de techterms.com solicita un recurso de sharpened.com mediante una acción GET, puede enviar los siguientes encabezados de solicitud:
Origin: https://techterms.com
Access-Control-Request-Method: GET
Para permitir la solicitud, sharpened.com puede responder con los siguientes encabezados:
Access-Control-Allow-Origin: https://techterms.com
Access-Control-Allow-Methods: GET
Access-Control-Allow-Origin puede configurarse para dominios específicos o mediante un comodín con un asterisco (*). La configuración de comodín permite solicitudes de recursos de origen cruzado desde todos los dominios, lo que puede representar un riesgo de seguridad. Access-Control-Allow-Methods puede configurarse para PUT, POST, DELETE y otros métodos, incluida una configuración de comodín (*) que permite todos los métodos.
Pon a prueba tu conocimiento