Vous êtes sur la page 1sur 39

Superint.

CENTRO-OESTE

Centro Universidade Anhanguera


de Campo Grande – Unidade 1

Tec. em Redes de Computadores


Aula 04 – Protocolos HTTP e FTP
Introdução ao protocolo HTTP

• A web consiste em milhões de clientes (usando browsers como o internet


explorer e o firefox) e servidores (rodando aplicações como o Apache,
Tomcat e JBoss), conectados através de redes com fio e wireless.

2
Arquitetura

• Hoje em dia, a WWW é um serviço cliente/servidor distribuído, no qual


um cliente, usando um browser, pode acessar um serviço hospedado em
um servidor. Entretanto, o serviço pode ser distribuído em muitas
localidades, denominadadas sites.

3
Arquitetura

4
Cliente (browser)

• Uma série de fornecedores oferece browsers comerciais, que interpretam e


exibem um documento Web e praticamente todos definem um mesmo tipo de
arquitetura. Cada browser, em geral, formado por três partes: um controlador,
programas cliente e interpretadores.

– O controlador recebe entradas do teclado ou do mouse e usa os programas


cliente para acessar o documento.

– Após o documento ter sido acessado, o controlador utiliza um dos


interpretadores disponíveis para exibir o documento na tela.

– O interpretador de comandos pode ser baseado em HTML, Java ou JavaScript,


dependendo do tipo de documento.
5
Browser - Navegador

6
Servidor

• Uma página web é hospedada em um servidor. Cada vez que chega uma
solicitação de um cliente, o documento correspondente é localizado e
transferido para ele. Para melhorar a eficiência, em geral os servidores
armazenam os arquivos já solicitado anteriormente em uma área de cache
na memória; a memória cache é muito mais rápida do que o disco rígido.

• Um servidor também pode se tornar mais eficiente .por meio da utilização


de técnicas de multitarefa baseada em threads ou em
multiprocessamento. Nesse caso, um servidor pode responder a mais de
uma solicitação.

7
Servidor

8
URL – Uniform Resource Locator

• Um cliente que deseja que a página Web precisa de seu endereço. Para
facilitar o acesso a documentos distribuídos ao redor do mundo, o
protocolo HTTP usa o conceito de localizadores.

• A URL (Uniform Resource Locator – localização de recursos uniformes) é


um padrão para a especificação de qualquer tipo de informação na
internet. Uma URL é constituída por quatro partes: protocolo, host, porta
e caminho (path).

9
URL – Uniform Resource Locator

• O protocolo é o programa cliente/servidor usado para acessar os documentos


diversos protocolos diferentes podem ser utilizados para acessar um documento;
entre estes temos o FTP, SMTP ou HTTP;

• O Host é o computador onde as informações estão hospedadas, embora ele possa


ser representado por um nome alternativo(alias);

• Uma Url pode também conter o número da porta. Se a porta for incluída, ela será
inserida entre o host e o Path;

10
Documentos Web

• Documentos Estáticos;
• Documentos Dinâmicos;

11
Documentos estáticos

• São aqueles que apresentam uma estrutura fixa, e que são criados e hospedados
em um servidor. O cliente pode obter apenas uma cópia do documento.

• O conteúdo do arquivo somente pode ser alterado no lado do servidor.

• Quando um cliente acessa o documento no servidor, apenas uma cópia do


documento é enviada ao cliente, sendo assim, seu conteúdo não poderá ser
alterado no lado do cliente.

12
Documentos estáticos

13
HTML

• Quando você desenvolve uma página, você usa o HTML para descrever que
aparência a página deve ter e como deve se comportar. O HTML possui várias tags
e atributos de tags. O objetivo do HTML é, a partir de um documento texto,
adicionar tags que dirão ao browser como formatá-lo.

14
15
Documentos Dinâmicos

• Um documento dinâmico é criado por um servidor web toda vez que um browser
solicita o documento. Quando chega uma solicitação, o servidor web roda um
programa aplicativo ou um script que cria o documento dinamicamente.

• O servidor retorna a saída do programa ou do script como resposta para o browser


que solicitou o documento.

• Como um novo documento é criado para cada solicitação, o documento dinâmico


pode variar de uma solicitação para outra.

16
Documentos Dinâmicos

17
Protocolo HTTP

• O HTTP é um protocolo usado principalmente para acessar dados na Web;

• Funciona como uma combinação de dois outros protocolo: FTP e SMTP;

• Ele é similar ao FTP, pois permite a transferência de arquivos e usa serviços TCP.
Entretanto é muito mais simples que o FTP pois usa uma única conexão TCP. Não existe
uma conexão de controle;

• O HTTP é similar ao SMTP porque os dados transferidos entre o cliente e o servidor se


parecem com mensagens SMTP;

• O HTTP utiliza os serviços do TCP na porta 80;

18
Transação HTTP

• A estrutura de uma transação HTTP entre um cliente e um servidor é uma


seqüência simples de Requisição HTTP/Resposta HTTP. Um browser solicita
e um servidor responde.

19
Transação HTTP

Informações que são enviadas na Requisição HTTP:


– O método HTTP (a ação que deve ser executada).
– O caminho (URL – Uniform Resource Locator) do recurso no servidor.
– Parâmetros do formulário (se houverem);

Informações que são enviadas na Resposta HTTP:


– Um código de status (informando se a requisição foi bem sucedida ou não).
– O tipo de conteúdo da resposta (texto, imagem, HTML, etc.) para o browser
saber exibi-la.
– O conteúdo solicitado (a página HTML solicitada, o arquivo de som, a imagem,
etc.).
20
Mensagens de solicitação e Resposta

21
Transação HTTP

• Quais as formas de gerar uma Requisição


HTTP?
– Digitando o endereço do recurso no servidor
diretamente no browser.
– Clicando em um link que aponte para algum
recurso no servidor.
– Enviando dados de um formulário.

22
A Requisição HTTP

• A primeira informação que encontramos na requisição é o método HTTP. O nome


do método informa ao servidor o tipo de solicitação que está sendo feita e como o
resto da mensagem de requisição será formatada.

• O protocolo HTTP possui diversos métodos, mas os que você usará com mais
freqüência são o GET e o POST.

23
Métodos HTTP

Método (Comando) Acão


GET Solicita um documento ao servidor
HEAD Solicita informações sobre um documento, mas
não o documento em si
POST Envia informações do cliente para servidor
PUT Envia um documento do servidor para o cliente
TRACE Ecoa uma solicitação que chega

CONNECT Reservado
OPTION Solicita detalhamento sobre opções disponíveis

24
Método GET

• O GET é o método mais simples do HTTP e seu principal trabalho é pedir ao


servidor que consiga um recurso (página HTML, um PDF, etc) e enviá-lo de volta.
Este método é mais usado quando a requisição é feita digitando-se a URL do
recurso ou clicando-se em um link.

• O GET também pode ser usado para enviar dados de um formulário, mas, como
veremos adiante, existem alguns problemas em usar o GET para enviar dados de
um formulário.

25
Transação GET

26
Requisição GET

27
Método POST

• O POST é uma solicitação mais poderosa. Com o POST você pode solicitar algo e,
ao mesmo, tempo, enviar os dados de um formulário para o servidor. É mais usado
para enviar dados de um formulário HTML.

• Em uma solicitação POST, os parâmetros são enviados no corpo da mensagem de


requisição e, portanto, não ficam limitados da maneira que ficariam quando se usa
um GET.

28
Diferenças entre o POST e o GET:

• A quantidade de dados que se pode passar no GET é limitada pelo servidor (256
bytes, em geral). Se o usuário digitar um texto extenso, o GET pode não funcionar.

• Os dados enviados via GET são exibidos na barra de endereços do browser (expõe
dados secretos, como senhas por exemplo). Já os dados enviados via POST ficam
ocultos do usuário.

• Não é possível marcar (adicionar aos favoritos) o resultado de um request que usa
o POST.

29
Requisição POST

30
Requisição POST

31
Resposta HTTP

• Agora que já vimos as solicitações do browser para o servidor, vamos dar uma
olhada no que o servidor envia de volta como resposta. Uma resposta HTTP é
composta de header e corpo. A informação do header informa ao browser o
protocolo que está sendo usado, se a solicitação obteve êxito e que tipo de
conteúdo (content-type) está incluido no corpo. O corpo possui o conteúdo (por
exemplo, HTML) que o browser exibirá.

32
Frase de Status

• Esse campo é usado em mensagens de resposta. Ele expande o código de


status apresentando informações mais detalhadas na forma de texto.

Código Frase Descrição


200 OK A solicitação foi bem sucedida
400 Bad Request Erro de sintaxe na solicitação
401 Unauthorized A solicitação não tem autorização
suficiente para ser executada.
403 Forbidden Serviço negado
404 Not Found O Documento não foi encontrado
500 Not implemented Há um erro, como um crash, por
exemplo, no servidor
503 Service O serviço está temporariamente 33
unavaibable indisponível mas poderá ser solicitado
no futuro
Exemplo de Acesso a um servidor Web

• O HTTP usa caracteres ASCII. Um cliente pode se conectar diretamente a um servidor


usando telnet, que registra na porta 80;

• As próximas três linhas mostram que a conexão é bem sucedida. Em seguida, escreve-
se três linhas.

– A primeira mostra a linha de solicitação (método GET), a segundo é o cabeçalho


(definir o host), a terceira é um espaço em branco, que encerra o pedido.

– A resposta do servidor é de sete linhas que começam com a linha de status.

– A linha em branco no final termina a resposta do servidor. O arquivo de 14.230


linhas é recebida após a linha em branco (não mostrado aqui). A última linha é a
saída pelo cliente.
34
Exemplo de Acesso a um servidor Web

35
Servidor Proxy

• O HTTP permite o uso de servidores proxy. Um servidor Proxy é um computador


que mantém cópia para respostas e solicitações recém-transmitidas.

• O cliente http envia uma solicitação para um servidor proxy. Este verifica seu
cache. Se a mensagem não estiver armazenada no cache, o servidor proxy
retransmite a solicitação para o servidor Web correspondente.

36
FTP

• O File Transfer Protocol (FTP) é outro protocolo da camada de Aplicação comumente


utilizado.

• O FTP foi desenvolvido para possibilitar transferências de arquivos entre um cliente e um


servidor. Um cliente FTP é uma aplicação que roda em um computador e utilizado para
carregar e baixar arquivos de um servidor que executa o daemon FTP (FTPd).

• Para transferir os arquivos com sucesso, o FTP precisa de duas conexões entre o cliente e o
servidor: uma para comandos e respostas e outra para a real transferência do arquivo.

• O cliente estabelece a primeira conexão com o servidor na porta TCP 21. Tal conexão é
utilizada para controlar o tráfego, consistindo de comandos do cliente e respostas do
servidor.

37
FTP

• O cliente estabelece a segunda conexão com o servidor pela porta TCP 20. Essa
conexão é para a transferência real de arquivo e criada toda vez que houver um
arquivo transferido.

• A transferência de arquivos pode acontecer em ambas as direções. O cliente pode


baixar um arquivo do servidor, ou o cliente pode fazer carregar um arquivo ao
servidor.

38
FTP

39

Vous aimerez peut-être aussi