Anda di halaman 1dari 13

Fundamentos da  Infraestrutura

 Protocolo TCP/IP
Programação Web  Protocolo HTTP
 Arquitetura Cliente-
Curso de Especialização em Desenvolvimento de
Aplicações Multiplataformas (Java e .Net) Servidor

Prof. André Menegassi


Como funciona um web site
• Atores

• O (1) navegador cliente envia (através da Internet) uma solicitação de


informações ao computador servidor.
• O (2) servidor processa o pedido e retorna (através da Internet) as
informações de solicitação em formatado HTML.
• Este processamento depende de recursos que são executados dentro
de um aplicativo chamado de (3) Servidor Web instalado num
servidor.
Como funciona um web site
• (4) Redes de computadores são
estruturas físicas e lógicas que
permitem que dois ou mais
computadores possam compartilhar
suas informações entre si.
– Estruturas físicas: computadores,
dispositivos de rede)...
– Estruturas lógicas: programas,
protocolos...

• (5) Internet: Infra-estrutura de rede (e sub-redes) que provê


serviços para aplicações distribuídas.
– É uma rede de computadores mundial.
– Interconecta milhões de dispositivos de computação em todo o mundo.
– Dispositivos: PCs/notebooks tradicionais, estações de trabalho,
servidores, dispositivos móveis, leitores digitais de livros, aparelhos de
TV, geladeiras, torradeiras...
Como funciona um web site
• Comunicação: Ocorre fisicamente pelas redes de computadores e
logicamente por softwares que definem a comunicação entre
dispositivos (protocolos).
• Nesta arquitetura cada equipamento conectado a rede possui um IP
(Internet Protocol).
• IP: É um número que indica o endereço (local) de um determinado
dispositivo (normalmente computadores). É um número único dentro
de uma mesma rede.
– 200.230.94.36, 192.168.0.163

• Protocolo: É um conjunto de regras que define como deve acontecer


a comunicação entre dispositivos.
• Protocolo TCP/IP: Realiza a intercomunicação de computadores,
controlando como a informação é passada de uma rede a outra, até
chegar num dispositivo final.
TCP/IP
• Transmission Control Protocol / Internet
Protocol
• O TCP/IP é um protocolo de comunicação
entre computadores.
• Está dividido em quatro camadas, cada qual
formada por um conjunto de outros protocolos
(sub-protocolos) .
• Cada camada possui diversos sub-protocolos
usados para realizar diferentes tarefas.
TCP/IP
• O TCP/IP provê:
– Transporte confiável: Garante à aplicação confiabilidade e que a conexão entregará
todos os dados sem erro e na ordem certa.
• Confirmação e retransmissão.
– Controle de fluxo: Garante que nenhum lado de uma conexão sobrecarregue o
outro enviando muitos pacotes rapidamente.
– Controle de congestionamento: Garante que a Internet não trave quando há
congestionamento (muito tráfego na rede).
• Redução da velocidade dos dispositivos que enviam pacotes.

• Abstração: Não precisamos saber como o protocolo TCP/IP


implementa os itens acima, e sim somente os serviços (protocolos)
que ele disponibiliza.

• Cada camada implementa alguns protocolos (sub-protocolos) e cada


qual com uma função diferente.
Protocolo HTTP
• HyperText Transfer Protocol (Protocolo de Transferência de
Hipertexto): É um protocolo da camada de aplicação do TCP/IP e
define como clientes requisitam páginas Web aos servidores, e como
eles as transferem ao cliente.
• Implementado em dois programas: um cliente e outro servidor que
trocam mensagens.
• O HTTP define a estrutura das mensagens e o modo como o cliente e
servidor as trocam.
• Browser/Navegador (Internet Explorer, Firefox, Netscape, Safari...):
Implementam o lado cliente consumindo objetos da Web.
• Servidor Web: Implementam o lado servidor da Web, abrigando
objetos da Web por meio de programas servidores, como o Apache,
o Microsoft Internet Information Service – IIS e o Tomcat.
Protocolo HTTP: Cliente X Servidor
• Arquitetura Cliente-Servidor: Estrutura predominante para aplicação da
Internet. Atua como um serviço de pedido e resposta.

• Cliente/Hospedeiro (host): Quem hospeda/executa programas de aplicação:


browser web (navegador), cliente de e-mail, mensagem instantânea, áudio e
vídeo em tempo real, login remoto...
- Solicita e recebe serviços de um programa servidor.
• Servidor: Quem recebe e processa requisições de vários
clientes/hospedeiros. Um servidor também pode ser um cliente/hospedeiro
consumindo serviços disponibilizados por outros servidores.
• Um computador pode implementar ora o lado do cliente ora o lado do servidor.
Por exemplo, acesso remoto entre computadores, telnet...
Protocolo HTTP: Cliente X Servidor
• Processamento no cliente
– Interpretado pelo navegador e executado no cliente
– Não tem acesso aos recursos do servidor
– HTML, XHTML, DHTML
– JavaScript
– CSS
• Processamento no servidor
– Código interpretado e executado pelo servidor
– Código compilado e executado no servidor
– Tem acesso a recursos do servidor
– ASP.NET, ASP, PHP, JSP, CGI, PERL...
Protocolo HTTP: Cliente X Servidor
• Uma página web enviada ao cliente é constituída de objetos (objetos
da web): arquivos HTML, JavaScript, Flash, CSS, imagens,
SilverLigth...
• Linguagem de servidor (server-side): CLIENTE
− ASP, PHP, ASP.NET, JSP, NAVEGADOR
ColdFusion
OBJETOS DA WEB
− A linguagem de servidor é
processada pelo servidor web e
SERVIDOR
transformada em objetos web.
− O navegador não tem acesso as OBJETOS DA WEB
páginas antes do processamento. PROCESSAMENTO

• Linguagem de cliente (client-side): LINGUAGEM DE SERVIDOR


− Javascript
− Um programa feito em linguagem de
cliente somente é executado no
cliente.
Protocolo HTTP
• Quando um usuário requisita uma página Web (por exemplo, clique
sobre um hiperlink ou digita o endereço de uma página no navegador),
o browser envia ao servidor mensagens de requisição HTTP para os
objetos da página. O servidor recebe as requisições e responde com
mensagens de resposta HTTP contendo os objetos da página.

Requisição/ Requisição/
Resposta Resposta
HTTP HTTP

Servidor Web rodando Cliente


Internet 1023 > Porta <= 65535
APACHE/IIS
Porta 80

• Protocolo sem estado (stateless): O servidor envia os dados


requisitados pelo o cliente e não armazena informação de estado
sobre este. Se o cliente solicita a mesma informação, mesmo em um
período de tempo pequeno, o servidor envia novamente sem nenhum
critério.
Protocolo HTTPS
• HyperText Transfer Protocol Secure (Protocolo de Transferência de
Hipertexto Seguro)
• É uma implementação do protocolo HTTP sobre usando o protocolo
SSL.
• Essa implementação permite que os dados sejam transmitidos através
de uma conexão criptografada e que se verifique a autenticidade do
servidor e do cliente através de certificados digitais.
• A porta TCP usada por padrão para o protocolo HTTPS é a 443.
• Sites de compra online, bancos, ou qualquer lugar onde quer evitar
que a informação transmitida entre o cliente e o servidor seja
visualizada por terceiros.
Atividade
• Investigue outros subprotocolo encontrados da camada de aplicação
descrevendo a funcionalidade de cada um.

• Envie sua pesquisa pelo Aprender.