Cliente

No contexto da tecnologia e da computação, um cliente é o destinatário de um servidor ou aquele que solicita um serviço específico em um tipo de sistema de servidor. Na maioria dos casos, um cliente está localizado em um terminal de computador diferente, que pode ser acessado através de uma rede.[1] Este termo foi primeiro usado para aqueles dispositivos que não foram capazes de configurar suas redes, bem como executar seus programas para se conectar a um computador remoto individual através de uma rede. Estes são chamados de terminais burros, que eram normalmente servidos com processadores de mainframe com compartilhamento de tempo.

Em quase cada negócio, corporações utilizam clientes tendo a sua rede corporativa têm um computador de cliente para cada um dos seus empregados que têm de acessar a informação dos servidores, com cada um dos computadores de cliente unidos em direção ao servidor de anfitrião da corporação. Este servidor conteria ficheiros e informações que são fundamentais para a eficiência do local de trabalho, ao mesmo tempo que daria acesso à Internet e ao conteúdo intra-servidor. [2]

Quando se trata de processamento, qualquer trabalho que é feito no servidor é chamado de trabalho "server-side", enquanto as informações e dados que estão sendo gerados localmente no lado do cliente é chamado de trabalho "client-side".[3]

Funcionalidade

Existem diferentes variações de clientes. A maioria dos clientes são aplicações simples ou mesmo um sistema inteiro complexo que acessa certos serviços através de um servidor. Neste caso, um cliente pode conectar-se a um servidor através de soquetes de domínio, memória compartilhada, ou mesmo através de protocolos de internet, que é o método mais comum de usar a transmissão de informações para um cliente.

Classificação

Os clientes são classificados em três tipos:[4]

Cliente Fino

Este é um programa de cliente que tem uma função muito mínima que só usa os recursos que estão sendo fornecidos por um computador host ou servidor. Seu trabalho é bastante simples: exibir os resultados que o servidor gera. Tudo que ele precisa é de um servidor para fazer o heavy-lifting (que é o processamento). Os clientes magros podem ser vistos como um serviço para os clientes através de uma interface de utilizador que está a ser servida aos clientes. Clientes finos tornam-se uma opção melhor quando o servidor tem mais poder de processamento do que qualquer um dos seus destinatários. A thin client computing é uma das formas mais naturais de manter serviços computacionais sem ter de sacrificar o poder de processamento do computador do destinatário.

Cliente espesso ou gordo

Esse cliente é o oposto direto do que é o thin client e refere-se à maior parte da atividade de processamento que não depende dos servidores centrais do mainframe que processam os dados e as informações. No entanto, ele pode precisar de uma fonte de informação (pelo menos um servidor) para carregar e atualizar dados, ou mesmo administrar o próprio programa. Na maioria dos casos, os programas antivírus pertencem a este tipo de categoria, uma vez que podem trabalhar de forma independente sem a necessidade de estarem continuamente ligados ao servidor, a menos que haja uma actualização programada e downloads específicos que sejam efectuados. Downloads e uploads devem ser feitos para o programa, para estar ciente de certos vírus enquanto também retransmite informações para o servidor de origem. Clientes espessos também são implementados em locais de trabalho onde o host ou servidor primário tem muita velocidade de rede, um poder de processamento limitado e uma quantidade limitada de armazenamento. Isto é porque os clientes espessos podem correr quase independentemente.

Cliente Híbrido

Este cliente contém algumas características que são encontradas em clientes finos e grossos. O cliente híbrido pode trabalhar de forma independente, mas ainda pode ter que confiar em um servidor de origem para dados essenciais ou o armazenamento de tais dados.

Lado do cliente vs. Lado do servidor

Os Websites são executados no lado do cliente ou no lado do servidor - com o lado do cliente normalmente chamado de front-end e o lado do servidor de back-end. O cliente desse site se refere ao navegador da web antes de visualizá-lo. Na maioria dos casos, as linguagens de codificação que são projetadas para a criação de sites são executadas no servidor ou no lado do cliente, o que depende em grande parte de como elas operam.[1:1]

Quando um cliente gera uma solicitação para uma página web especificada, essa solicitação deve ser processada primeiro através de um servidor web. Se esse pedido for um script do lado do servidor (neste caso, Perl ou PHP) antes dessa informação ser devolvida ao cliente, o script é executado dentro do servidor e os resultados do script são devolvidos ao cliente.[5]

Depois que o cliente recebe as informações retornadas do servidor que ele contém, um script do lado do cliente (como JavaScript) no navegador do computador do usuário executará o script antes de exibi-lo na página da Web.

Os idiomas do lado do cliente têm as seguintes características:[5:1]

  • Normalmente feito principalmente usando JavaScript, além de HTML e codificação CSS também.4
  • Isso ocorre porque o JavaScript executa scripts em um computador logo após a página ter sido carregada.4

A codificação do lado do servidor e os idiomas têm as seguintes características:[3:1]

  • Linguagens do lado do servidor executam scripts mesmo antes do HTML ser carregado.
  • Há uma grande variedade de códigos que estão sendo usados hoje. Isso inclui PHP, que é um dos mais populares, Ruby on Rails, ASP.NET e uma infinidade de outras linguagens.
  • Estas são chamadas de linguagens server-side, uma vez que os scripts não estão realmente no computador do usuário, mas estão no servidor host que envia o código HTML.

Em essência, a maioria dos sites usa tanto o lado do cliente quanto o lado do servidor. Embora ambos os lados possam executar as funções primárias com qualquer problema, algumas funcionalidades só podem ser feitas por linguagens do lado do cliente e algumas outras coisas que também podem ser feitas pelas linguagens do lado do servidor.

Simplificando, o front-end scripting dá uma vantagem sobre tudo o que requer interação com o usuário, um exemplo do qual é um videogame. O scripting de back-end é útil quando se trata de dados complexos e dinâmicos que têm de ser carregados, um exemplo como notificar um usuário de que eles já estão logados dentro do dispositivo ou mesmo em outro dispositivo.

Diferenças entre Servidor Web e Cliente Web

Em termos de como eles funcionam, tanto o servidor web como o cliente web (o destinatário) têm diferentes modos de operação. Uma vez que discutimos quais as diferenças entre o trabalho do lado do servidor e o trabalho do lado do cliente, temos de saber como estes dois trabalham lado a lado para entregar o conteúdo ao utilizador.[4:1]

Servidor Web

Basicamente, este é um sistema que lida com o pedido do destinatário e também fornece as diferentes formas de conteúdo para as páginas web através do Protocolo de Transferência de HiperTextos (HTTP) e envia os arquivos através do Protocolo de Transferência de Arquivos (FTP). Uma vez que o usuário digita uma URL na barra de endereços do navegador, o servidor web será o único a enviar uma solicitação para o local onde o domínio está salvo. Em seguida, a informação seria então solicitada é acessada e fornecida por um servidor host. O processamento e o fornecimento de uma página web ao destinatário (cliente) é a função principal da página web.

Cliente Web

O cliente web pode ser comparado ao de software ou a um navegador web que está instalado no computador ou já incorporado no sistema do computador (como o IE). Esses navegadores são então usados para interagir com o servidor web a pedido do usuário. Neste caso, trata-se de um software de consumo (produzido e desenvolvido por uma empresa para se adaptar aos utilizadores) que recupera dados dos servidores. Um cliente e um servidor são dois componentes significativos de uma conexão enquanto duas máquinas distintas também operam esses componentes. Um cliente web solicita principalmente informação enquanto que o servidor web é essencialmente um computador/processador que é especificamente concebido para aceitar os pedidos de computadores remotos e enviar esta informação à parte requerente. A principal função dos clientes web é ser a "janela" em que as pessoas visualizam a informação que está a ser processada pelo conteúdo do lado do servidor. Um webhost permitiria então que as conexões com o servidor visualizassem as informações armazenadas.

Quando se trata de desenvolver um site, os programadores, bem como os desenvolvedores web têm de saber de onde vem o fluxo constante de informações. Ser capaz de discernir a diferença entre trabalhos do lado do servidor e do lado do cliente aumentará a eficiência da página web que o usuário está mantendo.[1:2] Se uma determinada página encontra problemas quando se trata de streaming de conteúdo e plataformas de mídia que estão presentes na página web, então será mais fácil para o usuário e o desenvolvedor web para resolver o problema, uma vez que eles já terão uma visão geral das vantagens e desvantagens de trabalhos e scripts server-side e client-side.

Além disso, ser capaz de discernir as diferenças entre os diferentes tipos de clientes dará aos desenvolvedores uma vantagem sobre como eles serão capazes de adaptar especificamente seu cliente ao seu público e demográfico, enquanto otimizando as capacidades de seu cliente com base nas necessidades de seus usuários.


  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/ ↩︎ ↩︎