Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/05/2014, 06:52
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: ajax y dominio cruzado

Hola:

Es como tú piensas, pero en tu caso se admite porque el servidor al que consultas (openweathermap) devuelve en su cabecera http permisos para ser consultado desde cualquier dominio. La cabecera http de respuesta de openweathermap que puedes ver con las herramientas de debug de google chrome por ejemplo, contiene esto

Access-Control-Allow-Credentials:true
Access-Control-Allow-Methods:GET, POST
Access-Control-Allow-Origin:*

donde Access-Control-Allow-Origin:* indica que se pueden hacer peticiones desde cualquier dominio (localhost en tu caso).

Te cuento un poco el motivo de la restricción de dominios cruzados y porqué es el dominio consultado el que tiene que dar el permiso.

Imagina que yo estoy en mi casa o en el trabajo con mi router y tengo cuatro o cinco PCs en mi red interna con un servidor web activo. Desde un pc navego y cargo una web de internet que tenga mala leche. El código javascript de esa página se ejecuta en mi PC y dentro de mi red, por lo que podría pedir consultas web a otros PCs de mi red interna y enviar información a su servidor. Se agrava el tema si encima por temas de cookies tengo sesión abierta en esos PCs internos, por lo que javascript accedería incluso con mi usuario y mis permisos en las web internas de mis PCs. Este es el motivo por el que existe la restricción de peticiones cruzadas: evitar que un servidor externo por medio de javascript pueda acceder a recursos de mi red interna.

Y es por eso que el permiso para hacer peticiones cruzadas debe darlo el que recibe la petición cruzada (mis PCs de mi red) y no el servidor web con la página original. Si mis PCs no devuelven nada en la cabecera http relativo a permisos de control cruzado, están por defecto no accesibles y el navegador no deja acceder a ellos. Si mis PCs indican que sí se puede acceder, el navegador sí dejará acceder a ellos aunque sea una petición cruzada.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 21/05/2014 a las 06:59