Arquitetura cliente-servidor
Imagine que você está em casa e quer assistir a um filme na Netflix. Para isso, você abre o aplicativo da Netflix no seu celular e seleciona o filme que deseja assistir. O aplicativo da Netflix então envia uma mensagem ao servidor da Netflix, solicitando o filme.
A mensagem enviada pelo aplicativo da Netflix é formatada de acordo com as especificações do protocolo de aplicação HTTP. O HTTP é um protocolo que define como as mensagens são enviadas e recebidas na internet. As especificações do HTTP são definidas em documentos chamados RFCs, que são documentos públicos que descrevem como os protocolos de rede funcionam.
A mensagem enviada pelo aplicativo da Netflix contém as seguintes informações:
- O endereço do servidor da Netflix
- O número da porta de comunicação do servidor da Netflix
- O nome do filme que deseja assistir
O servidor da Netflix recebe a mensagem do aplicativo da Netflix e verifica se o filme solicitado está disponível. Se o filme estiver disponível, o servidor da Netflix envia uma mensagem de resposta ao aplicativo da Netflix.
A mensagem de resposta do servidor da Netflix também é formatada de acordo com as especificações do protocolo HTTP. A mensagem de resposta contém as seguintes informações:
- O endereço do servidor da Netflix
- O número da porta de comunicação do servidor da Netflix
- O filme solicitado
O aplicativo da Netflix recebe a mensagem de resposta do servidor da Netflix e exibe o filme para você.
Exemplo de mensagem HTTP
Aqui está um exemplo de mensagem HTTP que pode ser enviada pelo aplicativo da Netflix ao servidor da Netflix:
GET /filmes/filme-que-quero-assistir HTTP/1.1
Host: www.netflix.com
Esta mensagem solicita o filme "Filme que quero assistir" ao servidor da Netflix. O protocolo HTTP é usado para garantir que esta mensagem seja interpretada corretamente pelo servidor da Netflix, independentemente do software ou sistema operacional que ele esteja usando.
Outros exemplos de comunicação entre servidor e cliente
A comunicação entre servidor e cliente é usada em muitos outros serviços da internet, como:
- E-mail: o protocolo de aplicação usado para enviar e receber e-mail é o SMTP (Simple Mail Transfer Protocol).
- Navegação na web: o protocolo de aplicação usado para navegar na web é o HTTP.
- Download de arquivos: o protocolo de aplicação usado para baixar arquivos é o FTP (File Transfer Protocol).
A comunicação entre servidor e cliente também é usada em redes locais, como redes corporativas e redes domésticas.