You are on page 1of 29

Conceitos Internet

Professor: Túlio Teixeira Cota


Arquitetura cliente-servidor
 Modelo computacional que utiliza a rede de
computadores para a comunicação.

 Cliente envia requisições para algum servidor


conectado e fica aguardando a resposta.

 Algum servidor recebe a requisição, processa e retorna


o resultado ao cliente.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 “É uma arquitetura onde o processamento da
informação é dividido em módulos ou processos
distintos. Um processo é responsável pela
manutenção da informação (Servidor), enquanto
que outro é responsável pela obtenção dos dados
(Cliente)”. BATTISTI, (2001, pág. 38).

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 “Sistema surgido nos anos 90 e muito utilizado no
meio corporativo, baseado em três componentes
principais: gerenciamento de dados (conteúdos), que
funcionam como servidores; redes, que funcionam
como meio de transporte de dados e, finalmente,
softwares para acesso aos dados: clientes”. BATTISTI,
(2001, pág 39).

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Estrutura Básica:
 Em uma rede de computadores existem uma ou mais
máquinas que atuam como servidores, disponibilizando
recursos para as demais máquinas, as quais atuam como
clientes.

REQUISITA

Cliente Servidor Executa


RESPONDE

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Estrutura Básica:
 Servidores podem ser de: arquivos, banco de dados,
impressão, web, dentre vários outros.
Banco de Dados
Servidor de
Outros
Arquivos
Serviços

Clientes

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Exemplo:

 Cliente: Browser
 Servidor: Web server
 Serviço: Browser solicita a abertura de determinado
arquivo ou mídia. Servidor processa o pedido e devolve o
arquivo solicitado. O cliente recebe o arquivo e exibe ao
usuário.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Características do cliente:
 Geralmente PCs ligados em rede.
 Requisições são geralmente iniciadas pelo cliente.
 Recebe respostas do servidor.
 Pode se conectar a mais de um servidor simultaneamente,
e geralmente não se comunica com outro cliente.
 Interage com os usuários finais.
 Utiliza recursos da rede.
 Deixa a rede mais transparente para o usuário.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Características do servidor:
 Equipamentos com maior poder de processamento e
armazenamento.
 Geralmente não inicia uma requisição. Fica ocioso
aguardando uma solicitação do cliente.
 Recebe as solicitações e as devolve ao cliente.
 Pode se comunicar com outros servidores, a fim de
atender uma requisição do cliente.
 Fornece recursos de rede.
 Geralmente possui execução contínua.
Faculdade Cenecista de Sete Lagoas
Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Vantagens do modelo:

 Facilita a manutenção: ao alterar algum comportamento


no servidor, todos os clientes que fazem uso do recurso
também sentirão a mudança.
 Centralização dos dados: as informações ficam
armazenadas em apenas um local, o que permite uma
maior disponibilidade e distribuição.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Desvantagens do modelo:

 O servidor pode ficar sobrecarregado caso receba mais


requisições do que consegue suportar.

 Se um servidor falhar, possivelmente os recursos ficarão


indisponíveis. Em uma arquitetura ponto-a-ponto, os
recursos são distribuídos em diversos pontos e,
portanto, poderiam evitar esta situação.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Arquitetura cliente-servidor
 Resumindo

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Protocolo de Transferência de Hipertexto
 Camada de aplicação HIPERTEXTO
 Protocolo de aplicação
- Texto responsável pelo tratamento de
- Imagens
pedidos e respostas entre cliente e servidor
- Sons
 Normalmente utilizado
- Vídeos na porta 80
- Animações
 Comunica utilizando principalmente a linguagem
HTML

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 A troca de informações entre um browser e um
servidor Web é toda feita através do HTTP
 Criado especificamente para a Web
 Conversação no estilo requisição-resposta entre cliente
e servidor
 Utiliza-se comandos simples (inglês) para realizar a
comunicação

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Os clientes do HTTP são os browsers (Mozilla Firefox,
Google Chrome, Opera, Internet Explorer etc)

 Os servidores HTTP são os servidores Web (Apache,


IIS, Jboss, Tomcat, Wildfly)

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Estrutura de uma requisição HTTP

 Método
 URI
 Versão do protocolo
 Informações adicionais

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Exemplo de requisição HTTP

GET /internet/index.html HTTP/1.0


User-agente: Mozilla /4.5 [en] (WinNT; I)
AcceptP: text/plain, text/html, image/gif,
image/x-xbitmap,
image/jpeg, image/pjpeg, image/png, */*
Accept-Charset: isso-8859-1, *, utf-8
Accept-Enconding: gzip
Accept-Language: en

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Principais métodos de requisição

 GET: retorna o objeto, ou seja, a informação requisitada.


 POST: envia informações para o servidor.
 PUT: envia uma cópia de um objeto para ser armazenado
no servidor.
 DELETE: apaga um objeto armazenado no servidor Web.
 HEAD: retorna metadados sobre a informação
requisitada (tamanho, data etc).

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Resposta de uma requisição

 Após receber o pedido, o servidor Web processa-o e


realiza as instruções necessárias.

 Procura o arquivo solicitado e o retorna ao browser.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Estrutura de uma resposta HTTP:

 Linha de status: indica sucesso ou falha.

 Descrição da informação: metainformação/MIME.

 A informação em si.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Exemplo de uma resposta de uma requisição

HTTP/1.0 200 Document follows


Date: Thu, 20 Aug 1998 18:47:27 GMT
Server: NCSA/1.5.1
Content-type: text/html
Last-modified: Fri, 14 Aug 1998 20:14:23 GMT
Content-length:5807
<html>
<head><title> Navegando na Internet</title></head>
<body>

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Códigos de resposta HTTP:
 200: OK + conteúdo (corpo da mensagem HTTP)
 30x: Redirecionamento (gera nova requisição)
 301: Movido permanentemente
 302: Encontrado (movido temporariamente)
 40x: Erro cliente
 403: Acesso proibido
 404: Recurso/página solicitado não encontrado
 50x: Erro servidor
 500: Erro interno (genérico)
 503: Serviço indisponível (indisponibilidade)

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Protocolo HTTP
 Funcionamento

1 • O cliente realiza uma requisição HTTP.

• O servidor Web acessa o recurso adequado (página dinâmica).


2
• A página é processada pelo servidor de aplicações Web.
3
• A página dinâmica devolve um objeto MIME (ex.: HTML) como resposta.
4

5 • A conexão HTTP é encerrada.

Adaptado de Márcio d’Ávila (2013)


Faculdade Cenecista de Sete Lagoas
Sistemas de Informação – Linguagem de Programação IV
Web ou Desktop?

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Web X Desktop
 Características do sistema Web:
 Indicado para programas de grande porte.
 Não é necessário instalá-lo em todos os clientes, apenas no
servidor.
 A atualização no servidor surte efeito em todos os clientes
instantaneamente. (facilidade de manutenção)
 Escalabilidade no processamento: basta aumentar o poder de
processamento do servidor para todos os clientes sentirem.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Web X Desktop
 Características do sistema Web:
 A interface HTML já é conhecida do usuário devido à
utilização da Internet.
 A interface HTML, muitas vezes, possui comportamentos
distintos em browsers diferentes, prejudicando o aspecto
visual da aplicação.
 A integração com outros componentes é mais difícil.
 Indicado para: e-commerce, portais, aplicação distribuída,
sites.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Web X Desktop
 Características do sistema Desktop:
 Possui uma maior interação com o hardware (por
exemplo, para trabalhar com catracas eletrônicas,
relógio de ponto, câmeras etc.)
 Instalação e manutenção críticas. Apesar de que
atualmente já se permite a atualização automática nos
clientes. (Java Web Start, por exemplo)

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Web X Desktop
 Características do sistema Desktop:
 Possui total controle sobre os componentes distribuídos
na tela.
 Dependendo da interface utilizada, pode deixar a
aplicação mais pesada.
 Indicado para: aplicações gráficas, jogos, aplicações com
integração com vários hardwares.

Faculdade Cenecista de Sete Lagoas


Sistemas de Informação – Linguagem de Programação IV
Navegadores Web
 Concorrência de browsers:
 Netscape (1994-98)
 MS Internet Explorer (IE5 1999)
 Mozilla Firefox (2004+)
 Opera (v 8.5 livre 2005)
 Apple Safari (2003+)
 Google Chrome (2008+)
 Microsoft Edge (2015)
 Navegadores de SO’s móveis: iOS, Android, WP etc.

 Desafio: diversidade de ambientes, browsers,


formatos.
Adaptado de Márcio d’Ávila (2013)
Faculdade Cenecista de Sete Lagoas
Sistemas de Informação – Linguagem de Programação IV