39
Centro Universidade Anhanguera de Campo Grande – Unidade 1 Superint. CENTRO-OESTE Tec. em Redes de Computadores Aula 04 – Protocolos HTTP e FTP

Aula03 - protocolo http

Embed Size (px)

Citation preview

Page 1: Aula03 -  protocolo http

Centro Universidade Anhanguera

de Campo Grande – Unidade 1

Superint. CENTRO-OESTE

Tec. em Redes de Computadores

Aula 04 – Protocolos HTTP e FTP

Page 2: Aula03 -  protocolo http

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

Page 3: Aula03 -  protocolo http

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

Page 4: Aula03 -  protocolo http

Arquitetura

4

Page 5: Aula03 -  protocolo http

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

Page 6: Aula03 -  protocolo http

Browser - Navegador

6

Page 7: Aula03 -  protocolo http

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

Page 8: Aula03 -  protocolo http

Servidor

8

Page 9: Aula03 -  protocolo http

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

Page 10: Aula03 -  protocolo http

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

Page 11: Aula03 -  protocolo http

Documentos Web

• Documentos Estáticos;

• Documentos Dinâmicos;

11

Page 12: Aula03 -  protocolo http

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

Page 13: Aula03 -  protocolo http

Documentos estáticos

13

Page 14: Aula03 -  protocolo http

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

Page 15: Aula03 -  protocolo http

15

Page 16: Aula03 -  protocolo http

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

Page 17: Aula03 -  protocolo http

Documentos Dinâmicos

17

Page 18: Aula03 -  protocolo http

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

Page 19: Aula03 -  protocolo http

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

Page 20: Aula03 -  protocolo http

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

Page 21: Aula03 -  protocolo http

Mensagens de solicitação e Resposta

21

Page 22: Aula03 -  protocolo http

Transação HTTP

• Quais as formas de gerar uma RequisiçãoHTTP?

– Digitando o endereço do recurso no servidordiretamente no browser.

– Clicando em um link que aponte para algumrecurso no servidor.

– Enviando dados de um formulário.

22

Page 23: Aula03 -  protocolo http

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

Page 24: Aula03 -  protocolo http

Métodos HTTP

Método (Comando) Acão

GET Solicita um documento ao servidor

HEAD Solicita informações sobre um documento, masnã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

Page 25: Aula03 -  protocolo http

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

Page 26: Aula03 -  protocolo http

Transação GET

26

Page 27: Aula03 -  protocolo http

Requisição GET

27

Page 28: Aula03 -  protocolo http

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

Page 29: Aula03 -  protocolo http

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

Page 30: Aula03 -  protocolo http

Requisição POST

30

Page 31: Aula03 -  protocolo http

Requisição POST

31

Page 32: Aula03 -  protocolo http

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

Page 33: Aula03 -  protocolo http

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.

33

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çãosuficiente 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, porexemplo, no servidor

503 Serviceunavaibable

O serviço está temporariamenteindisponível mas poderá ser solicitadono futuro

Page 34: Aula03 -  protocolo http

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

Page 35: Aula03 -  protocolo http

Exemplo de Acesso a um servidor Web

35

Page 36: Aula03 -  protocolo http

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

Page 37: Aula03 -  protocolo http

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

Page 38: Aula03 -  protocolo http

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

Page 39: Aula03 -  protocolo http

FTP

39