Cliente

En el contexto de la tecnología y la informática, un cliente es el destinatario de un servidor o el que solicita un servicio específico en un sistema de tipo servidor. En la mayoría de los casos, un cliente se encuentra en un terminal de ordenador diferente, al que se puede acceder a través de una red.[1] Este término fue utilizado por primera vez para aquellos dispositivos que no eran capaces de configurar sus redes, así como ejecutar sus programas para conectarse a un ordenador remoto individual a través de una red. Estos se denominan terminales tontos que normalmente se servían con procesadores de mainframe de tiempo compartido.

En casi todos los negocios, las corporaciones utilizan clientes al tener su red corporativa una computadora cliente para cada uno de sus empleados que necesitan acceder a la información de los servidores, con cada una de las computadoras cliente conectadas hacia el servidor host de la corporación. Este servidor contendría archivos e información que son fundamentales para la eficiencia del lugar de trabajo, a la vez que daría acceso a Internet y al contenido interno del servidor. [2]

Cuando se trata de procesar, cualquier trabajo que se realiza en el servidor se denomina "trabajo del lado del servidor", mientras que la información y los datos que se generan localmente en el lado del cliente se denominan "trabajo del lado del cliente".[3]

Funcionalidad

Hay diferentes variaciones de clientes. La mayoría de los clientes son aplicaciones simples o incluso un sistema completo complejo que accede a ciertos servicios a través de un servidor. En este caso, un cliente puede conectarse a un servidor a través de sockets de dominio, memoria compartida, o incluso a través de protocolos de Internet, que es el método más común para utilizar la transmisión de información hacia un cliente.

Clasificación

Los clientes se clasifican en tres tipos:[4]

Cliente ligero

Se trata de un programa cliente que tiene una función muy mínima que sólo utiliza los recursos que proporciona un equipo host o servidor. Su trabajo es bastante sencillo: mostrar los resultados que genera el servidor. Todo lo que necesita es un servidor para hacer el trabajo pesado (que es el procesamiento). Los clientes ligeros pueden ser vistos como un servicio hacia los clientes a través de una interfaz de usuario que está siendo servida a los clientes. Los clientes ligeros se convierten en una mejor opción cuando el servidor tiene más capacidad de procesamiento que cualquiera de sus destinatarios. La informática de cliente ligero es una de las formas más naturales de mantener los servicios computacionales sin tener que sacrificar la potencia de procesamiento del ordenador del destinatario.

Cliente Grueso o Gordo

Este cliente es el opuesto directo de lo que es el thin client y se refiere a la mayor parte de la actividad de procesamiento que no depende de los servidores centrales de mainframe que procesan los datos y la información. Sin embargo, puede necesitar una fuente de información (al menos un servidor) para cargar y actualizar datos, o incluso administrar el programa en sí. En la mayoría de los casos, los programas antivirus pertenecen a este tipo de categoría, ya que pueden funcionar de forma independiente sin necesidad de estar continuamente conectados hacia el servidor, a menos que haya una actualización programada y se realicen descargas específicas. Las descargas y subidas tienen que ser hechas para el programa, para estar al tanto de ciertos virus mientras que también se transmite información al servidor de origen. Los clientes de gran tamaño también se implementan en lugares de trabajo en los que el servidor principal o host tiene una gran velocidad de red, una potencia de procesamiento limitada y una cantidad limitada de almacenamiento. Esto se debe a que los clientes de gran volumen pueden funcionar de forma casi independiente.

Cliente híbrido

Este cliente contiene algunos rasgos que se encuentran tanto en clientes finos como en clientes gruesos. El cliente híbrido puede trabajar de forma independiente, pero es posible que tenga que depender de un servidor de origen para los datos esenciales o para el almacenamiento de dichos datos.

Trabajo en el lado del cliente vs. trabajo en el lado del servidor

Los sitios web se ejecutan tanto en el lado del cliente como en el del servidor, con el lado del cliente normalmente llamado front-end y el lado del servidor el back-end. El cliente de ese sitio web hace referencia al navegador web antes de visualizarlo. En la mayoría de los casos, los lenguajes de codificación diseñados para crear sitios web se ejecutan tanto en el lado del servidor como en el del cliente, lo que depende en gran medida de cómo funcionen.[1:1]

Cuando un cliente genera una solicitud para una página web específica, dicha solicitud tiene que ser procesada primero a través de un servidor web. Si esa petición es un script del lado del servidor (en este caso, Perl o PHP) antes de que esa información se devuelva al cliente, el script se ejecuta dentro del servidor y los resultados del script se devuelven al cliente.[5]

Después de que el cliente recibe la información devuelta del servidor que contiene, un script del lado del cliente (como JavaScript) en el navegador del ordenador del usuario ejecutará el script antes de mostrarlo en la página web.

Los idiomas del lado del cliente tienen las siguientes características:[5:1]

  • Por lo general, se realiza principalmente utilizando JavaScript, además de la codificación HTML y CSS.4
  • Esto se debe a que JavaScript ejecuta scripts en un ordenador justo después de que la página se ha cargado.4

La codificación del lado del servidor y los idiomas tienen las siguientes características:[3:1]

  • Los lenguajes del lado del servidor ejecutan scripts incluso antes de que se cargue el HTML.
  • Hay una amplia gama de códigos que se están utilizando hoy en día. Esto incluye PHP, que es uno de los más populares, Ruby on Rails, ASP.NET y una multitud de otros lenguajes.
  • Estos se llaman lenguajes del lado del servidor ya que los scripts no están realmente en la computadora del usuario, sino en el servidor host que envía el código HTML.

En esencia, la mayoría de los sitios web utilizan tanto el lenguaje del lado del cliente como el del lado del servidor. Aunque ambos lados pueden realizar las funciones primarias con cualquier problema, algunas características sólo se pueden hacer con los lenguajes del lado del cliente y algunas otras cosas que también se pueden hacer con los lenguajes del lado del servidor.

En pocas palabras, el front-end scripting da una ventaja en cualquier cosa que requiera interacción con el usuario, un ejemplo de lo cual es un videojuego. El back-end scripting es útil cuando se trata de datos complejos y dinámicos que tienen que ser cargados, un ejemplo como notificar a un usuario que ya está conectado dentro del dispositivo o incluso en otro dispositivo.

Diferencias entre el Servidor Web y el Cliente Web

En términos de cómo funcionan, tanto el servidor web como el cliente web (el destinatario) tienen diferentes modos de funcionamiento. Ya que hemos discutido cuáles son las diferencias entre el trabajo del lado del servidor y el trabajo del lado del cliente, tenemos que saber cómo estos dos trabajan mano a mano para entregar el contenido al usuario.[4:1]

Servidor Web

Básicamente, se trata de un sistema que atiende la solicitud del destinatario, a la vez que proporciona las diferentes formas de contenido para las páginas web a través del Protocolo de Transferencia de Hipertexto (HTTP) y envía los archivos a través del Protocolo de Transferencia de Archivos (FTP). Una vez que el usuario teclea una URL en la barra de direcciones del navegador, el servidor web será el que envíe la solicitud a la ubicación donde está guardado el dominio. A continuación, la información que se solicita es accedida y proporcionada por un servidor host. El procesamiento y la provisión de una página web al destinatario (cliente) es la función principal de la página web.

Cliente Web

El cliente web puede compararse al software o a un navegador web que está instalado en el ordenador o ya integrado en el sistema del ordenador (como IE). Estos navegadores se utilizan para interactuar con el servidor web a petición del usuario. En este caso, se trata de un software de consumo (producido y desarrollado por una empresa para adaptarlo a los usuarios) que recupera datos de los servidores. Un cliente y un servidor son dos componentes significativos de una conexión, mientras que dos máquinas distintas también operan estos componentes. Un cliente web solicita principalmente información, mientras que el servidor web es esencialmente un ordenador/procesador diseñado específicamente para aceptar las solicitudes de ordenadores remotos y enviar esta información a la parte solicitante. La función principal de los clientes web es ser la "ventana" en la que los individuos verán la información que está siendo procesada por el contenido del lado del servidor. Un webhost entonces permitiría conexiones al servidor para ver la información almacenada.

Cuando se trata de desarrollar un sitio web, los programadores, así como los desarrolladores web tienen que saber de dónde viene el flujo constante de información. Ser capaz de discernir la diferencia entre los trabajos del lado del servidor y del lado del cliente aumentará la eficiencia de la página web que el usuario está manteniendo.[1:2] Si una determinada página encuentra problemas cuando se trata de la transmisión de contenido y plataformas de medios que están presentes en la página web, entonces será más fácil para el usuario y el desarrollador web para solucionar el problema, ya que tendrán una visión general de las ventajas y desventajas de los trabajos y scripts del lado del servidor y del lado del cliente.

Además, ser capaz de discernir las diferencias entre los diferentes tipos de clientes dará a los desarrolladores una ventaja sobre cómo serán capaces de adaptar específicamente su cliente a su audiencia y a su demografía, optimizando al mismo tiempo las capacidades de su cliente en función de las necesidades de sus usuarios.


  1. https://www.computerhope.com/jargon/c/client.htm ↩︎ ↩︎ ↩︎

  2. https://www.techopedia.com/definition/437/client ↩︎

  3. https://learntomato.flashrouters.com/what-is-a-client-what-is-a-server-what-is-a-host/ ↩︎ ↩︎

  4. https://sites.google.com/site/clientserverarchitecture/clients-and-their-types ↩︎ ↩︎

  5. https://www.codeconquest.com/website/client-side-vs-server-side/ ↩︎ ↩︎