origin gratis control como chrome allow activar javascript ajax html5 google-chrome cors

javascript - gratis - Chrome agrega el encabezado Origen a la solicitud del mismo origen



activar javascript gratis (2)

Estamos PUBLICANDO una solicitud AJAX a un servidor que se ejecuta localmente, es decir,

xhr.open("POST", "http://localhost:9000/context/request"); xhr.addHeader(someCustomHeaders); xhr.send(someData);

La página en la que se está ejecutando este javascript también se está publicando desde localhost: 9000, es decir, esta parece una solicitud de origen idéntico.

Sin embargo, por alguna razón, Google Chrome siempre establece un encabezado de origen en la solicitud resultante, lo que hace que nuestro servidor bloquee la solicitud basándose en la suposición falsa de que se trata de una solicitud CORS.

Esto no ocurre en Firefox.

Además, ni Firefox ni Chrome están enviando una solicitud de verificación previa de OPTIONS, lo cual es confuso; ¿por qué establecer un encabezado de origen sin primera comprobación previa para asegurarse de que el origen y los encabezados personalizados están permitidos por el servidor?

¿Alguien sabe lo que está pasando en este caso? ¿Estamos entendiendo mal la especificación CORS?


Chrome y Safari incluyen un encabezado de origen en las solicitudes POST / PUT / DELETE de origen idéntico (las solicitudes GET de origen idéntico no tendrán un encabezado Origin). Firefox no incluye un encabezado de origen en las solicitudes de origen idéntico. Los navegadores no esperan encabezados de respuesta CORS en solicitudes de origen idéntico, por lo que la respuesta a una solicitud de origen idéntico se envía al usuario, independientemente de si tiene encabezados CORS o no.

Recomendaría revisar el encabezado de Host y si coincide con el dominio en el encabezado de Origin , no trate la solicitud como CORS. Los encabezados se ven algo como esto:

Host: example.com Origin: http://example.com

Tenga en cuenta que Origin tendrá el esquema (http / https), dominio y puerto, mientras que Host solo tendrá el dominio y el puerto.


De acuerdo con RFC 6454 - The Web Origin Concept - la presencia de Origin es legal para cualquier solicitud HTTP, incluidas las solicitudes de origen idéntico:

http://tools.ietf.org/html/rfc6454#section-7.3

"El agente de usuario PUEDE incluir un campo de encabezado de origen en cualquier solicitud HTTP".