¿Qué sucede cuando presionas un botón en un sitio en el backend?

Bueno, comienza con presionar el botón. Esto generalmente desencadena alguna acción en el front-end y no necesita generar un mensaje hacia el servidor. Puede ser que una parte de Javascript se active y habilite o inhabilite otro campo de entrada.

Otra opción es que Javascript está solicitando al servidor que recupere datos adicionales sin actualizar la página. Esto es básicamente lo de AJAX, aunque la mayoría usará JSON ahora en lugar de XML. El servidor responderá con una respuesta procesada por Javascript y la página se actualizará sin una actualización.

Y la acción habitual es que el navegador solo solicitará una nueva página y el servidor responderá con esta nueva página, después de ejecutar una acción específica.

Protocolo de Transferencia de Hipertexto

Ahora, lo que sucede en el lado del servidor es un poco más complejo. Una aplicación en el servidor escucha continuamente un puerto específico (principalmente el puerto 80) para ver si hay solicitudes entrantes. El navegador se conectó a este puerto, por lo que se realiza una solicitud y el software del servidor hace su magia y devuelve una respuesta antes de desconectarse nuevamente. Y luego escucha la siguiente solicitud.

Este software de servidor puede ser básicamente cualquier cosa. He escrito servidores en Delphi y C ++ en el pasado que solo escucharían el puerto 80 y devolverían respuestas. Pero la mayoría de las personas usan IIS o Apache como software de servidor y, por lo tanto, tienen un entorno completo para crear sitios web muy complejos.

Lo que sucede internamente en esas aplicaciones es que el software primero analiza la solicitud para ver qué hay que hacer. Notará un nombre de dominio específico y, a menudo, una ruta y parámetros. El nombre de dominio generalmente indicará a qué sitio se accede. La ruta le dice a este sitio a qué parte se está accediendo y los parámetros solo proporcionan información adicional. El sitio más la ruta generalmente apuntará a una aplicación web específica (o ruta dentro de la aplicación) que se ejecuta en el servidor, por lo que el servidor comenzará un nuevo hilo para esta aplicación (que a menudo se agrupa) y dentro de este hilo, la respuesta se calcula para La solicitud específica. Luego, el subproceso finaliza y vuelve al grupo de aplicaciones.

Sin embargo, las cosas son mucho más complejas de lo que he explicado aquí. Es más una indicación aproximada de lo que sucede. Podría explicarlo todo, pero tendría que escribir un libro de aproximadamente 2450 páginas para explicarlo y no creo que quiera leer tanto … 😉

Una posibilidad es que una variable en el código cambie su valor de 0 a 1 y haya un servidor que siempre esté verificando si esta variable ha cambiado a 1 y ejecuta un fragmento de código.

La única respuesta correcta a esta pregunta es:

“Lo que sea que hayas programado para hacer”.