Estado allí. Hecho eso Trataré de apegarme a los términos simples.
“Back end” en su comprensión es en realidad algo que está más allá del “front end” HTML, CSS y Javascript, que son solo los componentes básicos de un documento estático. Son solo marcas y Javascript, un lenguaje de script que escribes para controlar elementos HTML o DOM (incluso hay servidores front-end y back-end, pero no llegaré a eso)
Para que los usuarios interactúen con más que simples animaciones de su documento estático, necesita conectarlo a los datos de una base de datos.
- ¿Cuáles son las mayores diferencias entre los servidores web, los servidores domésticos y los servidores de red de pequeñas empresas?
- ¿Una tarjeta controladora RAID con memoria integrada tiene una ventaja significativa sobre una que no la tiene?
- ¿Qué diferencia de rendimiento en el mundo real hace el uso de Java vs C ++ en un servidor?
- ¿Cuál es la diferencia entre el servidor en la nube y el servidor dedicado?
- ¿Dónde está el servidor principal de Google?
Cómo regular los datos y servir las páginas HTML correctas según la solicitud del usuario es tarea de un servidor web.
Olvídate de EC2 por un tiempo. Eso puede esperar. Básicamente es un servicio que le permite alquilar su servidor remoto para que no tenga que alojar su aplicación en su computadora. Es solo otra computadora (s). Puede usar su propia computadora para alojar un servidor web localmente.
Dado que Python es tan universal e incluye un servidor simple, puede probar en su terminal o línea de comandos:
python -m SimpleHTTPServer
Entonces debería mostrar un mensaje
“Sirviendo HTTP en 0.0.0.0 puerto 8000”
Eso es. Estás ejecutando tu servidor web. Abra un navegador web, o mejor aún, haga que otra computadora busque su dirección IP y puerto de esta manera:
http: //192.xxx.xx: 8000
Verá una lista de todos los archivos en su directorio actual en el navegador. ¡Está literalmente sirviendo esos archivos, en la web, como lo haría EC2! Si echa un vistazo a su línea de comando, debería ver algunas líneas más que aparecen con la palabra “GET”. Esa es la solicitud enviada desde el navegador a su servidor web. Eso es básicamente lo que la computadora servidor en el centro de datos de Amazon obtendría de los navegadores de todo el mundo: solicitudes.
Ahora, su servidor simple no sabe mucho, por lo que simplemente respondió con una página ficticia con enlaces a sus archivos estáticos. para servir qué archivo (recurso) de acuerdo con la solicitud o URL del usuario, necesita escribir programas para encargarse de eso. Ahí es donde entra el lenguaje del lado del servidor. Los programas, que se ejecutan en el servidor, básicamente hacen algo como:
si el usuario solicita “192.xxx.xx”, entonces:
responda con index.html
de lo contrario, si el usuario solicita “192.xxx.xx / registro”, entonces:
responde con signup.html
si el usuario está en “192.xxx.xx / signup” y el usuario hace clic en enviar formulario (enviar solicitud POST), entonces:
guarde lo que se haya completado en el formulario en nuestra base de datos y dirija al usuario a gracias.html
No hay un atajo excepto para entender lo básico de cómo funcionan todos (al menos lo básico) para saber lo que está haciendo. Tenga en cuenta que los archivos HTML son solo “recursos” que coloca en una computadora disponible para que el mundo la solicite. Puede servir imágenes, sonido, documentos, etc. cualquier cosa compuesta de bits y bytes. Internet comenzó con dos computadoras hablando entre sí, solicitando y respondiendo cosas. No se vuelve demasiado complejo que eso. Otras cosas son detalles técnicos. Tenga en cuenta esta estructura:
Navegador internet servidor base de datos
Donde son solicitudes y respuestas, enviando bytes de un lado a otro.
Los marcos de Python como Flask, Bottle o Ruby Sinatra son un gran lugar para comenzar un proyecto de pila completa. Puedes probar Node.js si te gusta Javascript.
Solo cuando sirve todo bien en su host local, puede mirar EC2, Google App Engine o Heroku para servir su aplicación de forma remota. No importa dónde esté su servidor. Los principios son bastante similares: cada computadora en cada extremo.