¿Una aplicación de una sola página rompe de forma natural la política del mismo origen?

1

Supongamos que tienes una aplicación web. La API de backend se implementa en api.example.com y su SPA frontend se implementa en frontend.example.com . Cuando lo abres, descargas todos los recursos a tu navegador. El origen es frontend.example.com , sin embargo, cuando está enviando solicitudes al backend, en realidad se envían a api.example.com , que no es el mismo origen.

Por lo tanto, un SPA naturalmente rompe la política del mismo origen ya que en la mayoría de los casos la API contra la que trabaja no es el origen en el que se encuentra. Entonces, mi pregunta es, ¿hay una manera de desarrollar un SPA sin romper la política del mismo origen y sin usar alguna tecnología complicada como CORS o JSONP?

    
pregunta Qingbao 30.08.2017 - 10:03
fuente

2 respuestas

2

Si desea evitar realizar solicitudes de origen cruzado, hospede su interfaz y su API en el mismo origen. Si los aloja en diferentes orígenes, por definición debe realizar solicitudes de origen cruzado.

Y si tiene que hacer solicitudes de origen cruzado, simplemente use CORS. JSONP es un truco feo que debe evitarse. Se usó en el pasado en situaciones como esta, porque no había CORS en ese entonces. Luego, CORS se desarrolló para tratar exactamente el tipo de situación que describe.

Entonces, preguntar cómo realizar solicitudes de origen cruzado sin CORS es como preguntar cómo golpear un clavo sin un martillo. Solo usa el martillo, ¡para eso está!

    
respondido por el Anders 29.10.2017 - 12:42
fuente
0

Si rompe la misma política de origen, su aplicación no funcionará en absoluto. Los navegadores son muy estrictos con respecto a esto, no le permitirán romper esta regla.

Escribí una publicación corta sobre la misma política de origen. Esto ayudará a poner toda la idea en perspectiva.

  

Entonces, mi pregunta es, ¿hay una manera de desarrollar un SPA sin romper la política del mismo origen y sin usar alguna tecnología complicada como CORS o JSONP?

¡Por supuesto! Si sirve la página inicial de su SPA desde el dominio donde se encuentra su servidor, no necesita que CORS o JSONP se comuniquen con su equipo en absoluto.

    
respondido por el Daniel Szpisjak 30.08.2017 - 10:32
fuente

Lea otras preguntas en las etiquetas