Hola, en este vídeo vamos a aprender acerca del modelo cliente-servidor. El modelo cliente-servidor es una manera en la cual permite comunicarse a dos aplicaciones distintas y es muy utilizado en muchas aplicaciones modernas.
Así que es mejor empezar a entender este modelo y ver cómo utilizarlo cuando creamos aplicaciones.
Para entender el modelo cliente-servidor necesitamos entender los dos conceptos claves, obviamente dirigidos por el nombre ya sabemos que es el cliente y el servidor. Pero vamos a ver en detalle cada uno de ellos.
El servidor en realidad es tan solo una aplicación que se encarga de estar a la escucha de peticiones o estar a la escucha de instrucciones. ¿Pero quien les da esas instrucciones o estas peticiones? Pues eso lo hace otro computador que digamos que es tan solo un cliente. Entonces el cliente es el que le envía las instrucciones al servidor y el servidor también se comunica con el cliente. Ahora, la diferencia entre el cliente y el servidor es que el servidor tiene mucha más potencia porque se puede comunicar con muchos más clientes.
Si te das cuenta, todo el proceso está centralizado en el servidor, mientras que los clientes tan solo piden algo, el servidor se encarga de darles algo, de servirles algo. Es un computador que sirve datos o sirve en realidad muchos recursos. Entonces, si entiendes el concepto, todo está centralizado en el servidor, ese es el modelo principal, muchos clientes piden a un solo computador recursos, pueden ser imágenes, videos, texto o cualquier tipo de dato.
Entonces este es el modelo cliente servidor. Pero para entenderlo de una manera mucho más sencilla, vamos a ir viendo los detalles:
Primero, si te diste cuenta, no he dado ninguna regla de que un cliente y un servidor deben estar en distintas máquinas. Entonces podemos decir que el servidor y el cliente incluso podrían estar instalados en el mismo computador.
Es decir, podemos tener un computador en el cual tenemos instalado un servidor o una aplicación de servidor, y también podríamos tener una aplicación cliente que simule o digamos, obtenga los datos de nuestra aplicación de servidor. Y esto es muy común cuando desarrollamos aplicaciones, es decir, creamos una aplicación en nuestro computador o una aplicación cliente, es decir, puede ser una aplicación móvil o una aplicación de escritorio, o una aplicación web que pide datos a un servidor que está en local, es decir, está en nuestro computador y es digamos que es el modelo cliente-servidor simulado dentro de nuestro propio computador y es una manera muy frecuente de crear aplicaciones.
Si nosotros vemos un poco más allá de tan solo en la manera en la cual jugamos con las aplicaciones, podríamos ver que también tenemos una manera de comunicar las aplicaciones y este modelo cliente-servidor necesita una manera de comunicarse. Es decir, necesita una especie de protocolo de comunicación.
Los protocolos de comunicación no son más que reglas entre distintos dispositivos para poder comunicarse. Es decir, para hablar el mismo lenguaje deben tener unas reglas iguales y para comunicarse el protocolo más común es el protocolo HTTP. Es el protocolo de transferencia de hipertexto es el más utilizado en la web, pero también sirve para utilizarlo en aplicaciones distintas, como en aplicaciones móviles, que es muy común verlas utilizadas y también en aplicaciones de escritorio para la comunicación de distintos, digamos, dispositivos o distintos computadores con distintas arquitecturas. Es decir, tienes distintas arquitecturas, distintos computadores. Puedes comunicarlos a través de este protocolo.
Ahora, si vamos a ver todo esto de una manera mucho más práctica, vamos a verlo desde una perspectiva desde la web. Cuando nosotros entramos a nuestro navegador web podría ser Firefox, Chrome o cualquier otro navegador, pues lo que hace al nosotros insertar la URL es pedir o hacer una petición o un request a un servidor, a un servidor que está en otra parte del mundo, que por lo general no necesitamos saber nada de esto.
Pero el servidor lo que hace es tomar esta petición de qué es lo que el usuario está pidiéndome a través del navegador y responderle algo, decirle un respons o una respuesta. Es decir, este flujo tan sencillo es el del modelo cliente-servidor. Un navegador puede pedirle una imagen al servidor, el servidor la recibe la petición de que quiere una imagen y le responde la imagen. O puede pedir un HTML o puede pedir un audio o cualquier tipo de dato y de hecho este modelo se repite para los distintos clientes.
Y así de sencillo es el modelo cliente-servidor. Este modelo es bastante utilizado y de hecho tampoco es el único modelo que existe para la comunicación de distintos computadores.