Você está na página 1de 13

HTTP

◎ O HTTP utiliza a comunicação Request-Response


(Requisição=Cliente para Servidor).
○ Há dois tipos de mensagens: requisições (requests) enviadas pelo cliente para
disparar uma ação no servidor, e respostas (responses), a réplica do servidor.

8
HTTP

◎ Primeiro o navegador interpreta as três partes do URL:


○ 1. http (o protocolo ou o esquema)
○ 2. www.cisco.com (o nome do servidor)
○ 3. index.html (o nome do arquivo/recurso solicitado)

9
HTTP

◎ O navegador consulta então


um servidor de nomes para
converter www.cisco.com em
um endereço numérico, que
utiliza para se conectar ao
servidor.
◎ Utilizando os requerimentos
do protocolo HTTP, o
navegador envia uma
solicitação ao servidor e
solicita o arquivo index.html.
10
HTTP

◎ O servidor envia o
código HTML da
página Web para o
navegador.

11
Camada 01: Aplicação

◎ O navegador decifra o
código HTML e formata a
página da janela do
navegador.
◎ Por padrão a porta utilizada
é a 80.

12
HTTP

◎ É um protocolo stateless
○ Não existe uma relação entre duas requisições sendo feitas através da mesma
conexão. A informação de conexões prévias não é mantida para uso em
conexões futuras (sem preservação de estado).

○ Existem protocolos ou aplicações do tipo stateful, que são aquelas que salvam o
estado das conexões com os usuários como o protocolo FTP
13
HTTP

◎ Caso precise salvar o estado


○ Podem ser utilizadas algumas estratégias alternativas/complementares ao
HTTP.
○ Por exemplo, imagine que você irá comprar um computador novo e um jogo de
xícaras de chá. Para que esses dados possam ser mantidos enquanto você
navega no site do e-commerce olhando mais produtos (cada página visitada
gera um novo par de requisição/resposta), duas estratégias podem ser usadas,
já que o HTTP por si só, não permitiria isso:
◉ Você possui um cadastro no e-commerce e um programa escrito no servidor é
responsável por armazenar suas informações do carrinho; ou
◉ Um programa escrito em linguagem cliente (como JavaScript), gerencia essas
informações através dos cookies e de bancos de dados que os próprios navegadores
disponibilizam para as aplicações, para armazenamento temporário dessas
informações de carrinho (salvar sessões http de cada cliente).
14
HTTP

◎ Sessão HTTP
○ Uma sessão é uma série de pedidos feitos a um servidor, originados do mesmo
usuário no mesmo navegador.
○ As sessões permitem que os aplicativos em execução mantenham controle dos
usuários individuais (criam IDs de sessão).
○ Em protocolos cliente-servidor, como o HTTP, sessões consistem de três partes:
1. O cliente estabelece uma conexão TCP (ou a conexão apropriada caso o protocolo
TCP não seja o protocolo usado na camada de transporte).
2. O cliente envia sua requisição, e então aguarda por uma resposta.
3. O servidor processa a requisição, enviando de volta sua resposta, fornecendo um
"status code" (código de status), e os dados apropriados.
○ Há a possibilidade da segunda e terceira etapa serem novamente realizadas
quantas vezes forem desejadas pelo cliente.
○ Os cookies podem salvar as sessões de do cliente.
15
HTTP

◎ Sessão HTTP
○ Exemplos
● Fornecer "carrinhos de compras" a compradores on-line.
● Verificar a última página em que você esteve ou se está
● Ser autorizado ou não a ver uma página (por exemplo, as configurações da
conta de outra pessoa)
● Visualizar a foto do perfil no site quando estiver conectado

16
HTTP

◎ Cookie HTTP
○ É um pequeno arquivo salvo no navegador que contém dados enviados por um
servidor.
○ O navegador pode armazenar estes dados e enviá-los de volta na próxima
requisição para o mesmo servidor.
○ Normalmente é utilizado para identificar se duas requisições vieram do mesmo
navegador.

17
HTTP

◎ Mensagem Request ◎ Mensagem Response


18
HTTP

◎ Campos HTTP Request


○ Endereço do Servidor: a URL/IP do site, como o domínio
(aqui como google.com), ou a porta TCP (aqui indicada
pelo 80 que é ocultado por ser o número da porta
padrão)
○ Método: GET, POST, DELETE, PUT, etc, que define qual
operação o cliente quer fazer.
○ Versão do Protocolo: versão HTTP
○ Cabeçalho: contém informações adicionais para os
servidores. Há numerosos cabeçalhos de requisição
disponíveis.
○ Conteúdo: Nem todas as requisições possuem o corpo.
Somente em alguns casos, as requisições enviam dados
ao servidor a fim de atualizá-lo. 19
HTTP

◎ Campos HTTP Response:


○ Versão do Protocolo: versão HTTP
○ Código Status: Um código de status,
indicando se a requisição foi bem sucedida,
ou não, e por quê.
○ Mensagem de Status: uma pequena
descrição informal sobre o código de
status.
○ Cabeçalho: como os das requisições. Há
numerosos cabeçalhos de resposta
disponíveis.
○ Conteúdo: um corpo com dados do
recurso requisitado. Mas nem toda
resposta tem um corpo 20

Você também pode gostar