[http]¿Qué es el dominio cruzado de cors?
La Política del Mismo Origen restringe cómo los documentos o scripts cargados desde una fuente interactúan con los recursos de otra fuente. Este es un mecanismo de seguridad clave para aislar archivos potencialmente maliciosos.
Si el protocolo, el puerto (si se especifica) y el nombre de dominio de dos páginas son iguales, entonces las dos páginas tienen el mismo origen.
Dentro de un mismo recurso la obtención de recursos es muy gratuita. Como en tu propia casa, podrás abrir el frigorífico y cocinar lo que quieras. Si desea acceder a recursos de diferentes fuentes, tendrá menos libertad. Esto es entre dominios.
En cuanto a dominios cruzados, debes conocer el JSONP de uso común. ¿Cuál es el principio de JSONP? Echemos un vistazo a la explicación del gran dios He Shijun:
Es muy simple, solo úsalo
Puedes saber que JSONP es un error. Si eres un buen programador, mira hacia atrás y di: Esto no es razonable, esto es limpio. Entonces lanzamos cors.
Entonces, ¿qué es cors?
Echemos un vistazo a la explicación de la enciclopedia interactiva:
CORS (intercambio de recursos entre fuentes * * *) es una especificación para la tecnología de navegador, que proporciona una forma para que los servicios web Una forma de enviar scripts de espacio aislado desde diferentes dominios para evitar la política del mismo origen del navegador. Es una versión moderna del esquema JSONP.
Explicación de Wikipedia (manual de Google):
Cross-Origin Resource Sharing (CORS) es un mecanismo que permite compartir recursos de otro dominio distinto del dominio que proporciona el primero. recurso. Solicitar recursos restringidos en una página web (como fuentes).
Desde esta perspectiva, CORS es en realidad una especificación y un mecanismo. Según esta especificación, diferentes fuentes pueden solicitar recursos. Es equivalente a una regla de Jianghu. Todo el mundo sigue las reglas, ¿verdad? ¿Sin reglas? Lo creas o no, te daré una paliza.
Entonces, si desea utilizar cors para acceso entre dominios, debe seguir las reglas. Veamos las reglas.
El estándar de intercambio de recursos entre dominios permite el uso de solicitudes HTTP entre dominios en las siguientes circunstancias:
Hay un término en cors llamado "solicitud simple". Si la solicitud cumple todas las condiciones siguientes, se puede considerar una "solicitud simple":
Utilice uno de los siguientes métodos:
La razón para distinguir las solicitudes simples es que cors necesita manejar algunas "solicitudes no simples", llamadas "solicitudes de verificación previa". Cuando llegue el pez gordo, prepárate siempre con antelación, blabla bla.
La función de una solicitud de vista previa es saber de antemano si el servidor permitirá la solicitud real. Utilice "solicitudes de verificación previa" para evitar efectos no deseados de solicitudes de origen cruzado en los datos de usuario de su servidor.
En una imagen se puede ver claramente la solicitud de cors que envía la solicitud de verificación previa por adelantado.
Encabezado de solicitud:
Encabezado de respuesta:
Usando cors en koa
Enlaces relacionados: