¿Cuáles son las diferencias entre hacer solicitudes HTTP desde el frontend frente al backend?

Aplicando el modelo cliente-servidor a su escenario, el navegador web es el cliente y Express es el servidor. El trabajo principal del servidor es conservar cualquier dato que deba conservarse. Además, puede realizar cálculos intensivos en recursos que el cliente no puede realizar porque no tiene los mismos recursos que el servidor o no debe realizar para proporcionar una experiencia de usuario receptiva. En consecuencia, si obtiene JSON de una fuente externa, supongo que no hay necesidad de persistir. Siempre y cuando no necesite realizar un procesamiento adicional significativo en los datos JSON después de recibirlos, también puede iniciar la solicitud del cliente y evitar un salto adicional a través del servidor.

Con respecto al punto de Matt West sobre el SOP, eso solo se aplica si está tratando de hacer algo que no sea leer datos. Mientras intente leer (digamos) Twitter o una fuente similar, puede eludir el SOP haciendo que la fuente proporcione JSONP (como lo hacen la mayoría de las fuentes de datos como Twitter).

Estoy escribiendo una aplicación en este momento que hace exactamente esto, solo que estoy usando .net web api en el back-end. La razón por la que estoy haciendo solicitudes http del lado del servidor es para evitar problemas con la misma política de origen. La alternativa sería utilizar un servidor proxy inverso, pero eso me parece una solución poco elegante.

Entonces, en cambio, hago que mi marco de fondo realice una llamada http y luego devuelva el resultado de esa llamada como un objeto JSON usando CORS. El resultado final es que el cliente puede mostrar los datos sin tener que preocuparse por estar en la misma red.

More Interesting

En cuanto al conocimiento, ¿qué te hace un buen desarrollador de back-end?

¿Por qué tiene sentido separar el front-end del back-end?

¿Existe un lenguaje de programación todo en uno para la web que no requiera un back-end (como en todo incluido)?

¿Qué idiomas serían preferibles para el desarrollo front-end y back-end?

Quiero ser un desarrollador de Java. Estoy confundido con las tecnologías de desarrollo front-end y back-end. ¿Cuál debo elegir para ser desarrollador de Java?

¿Cuánto front-end y back-end debe saber un desarrollador antes de que pueda considerarse un desarrollador full-stack?

¿Cuáles son los pros y los contras de escribir el backend en Go vs Erlang vs Python?

Como Java y PHP tienen una gran cuota de mercado en el back-end, ¿debo aprenderlos para obtener un trabajo de desarrollador de back-end?

¿Son los desarrolladores de back-end más respetados que los desarrolladores de front-end?

¿Cómo funciona el back-end (API, base de datos y aplicaciones móviles)?

Cómo abordar la creación de un sitio web PHP MVC que tenga un panel de administración, un panel de usuario y un sitio web front end normal

Necesito un kit de inicio para mi nueva aplicación. ¿Dónde puedo encontrarlo según los siguientes requisitos?

¿Cuáles son algunas de las ventajas de usar PHP?

¿Alguna empresa de desarrollo de sitios web confiable y de buena reputación en China (con sede en Nanjing, Shanghai o cerca)?

¿Qué lenguajes de programación son necesarios para el desarrollo web tanto front-end como back-end?