• Nenhum resultado encontrado

CamadaAplicacao(AWebHTTP)

N/A
N/A
Protected

Academic year: 2021

Share "CamadaAplicacao(AWebHTTP)"

Copied!
65
0
0

Texto

(1)

Camada de Aplicação

Prof. Larissa Natália V. Carneiro carneiroln@gmail.com

(2)

A Web e o HTTP

Até1990: Internet somente no meio acadêmico.

(3)

HTTP

Protocolo de Transferência de Hipertexto (HyperText Transfer Protocol) é o

protocolo da camada de aplicação da Web.

Definido pela [RFC 1945] e no [RFC 2616].

(4)

Funcionamento do HTTP

É implementado em dois programas (cliente, servidor).

Trocam mensagens HTTP.

Define a estrutura e o modo de troca.

(5)

Página Web

Constituída por objetos (arquivos). URL tem dois componentes:

nome do hospedeiro; nome do caminho.

(6)

HTTP

O HTTP define:

como o cliente Web requisitam páginas Webs;

como o servidor transfere para clientes.

(7)
(8)

Passo-a-passo do HTTP

Utiliza TCP.

Estabelece uma conexão.

Os processos acessam o TCP pelo socket. O cliente envia mensagem de requisição HTTP.

O cliente recebe mensagem de resposta HTTP.

(9)

HTTP

Servidor envia arquivos sem

armazenar informações do cliente. HTTP é denominado Protocolo sem estado.

(10)

Conexões

Conexões TCP:

Conexões persistentes;

Conexões não persistentes.

O TCP utiliza conexões persistentes no modo padrão.

(11)

Conexões não persistentes

Exemplo: Uma página Web com um arquivo HTML e 10 imagens JPEG

com URL http://

www.someSchool.edu/

(12)

Conexões não persistentes

O processo cliente HTTP inicia conexão TCP para o servidor

www.someSchool.edu na porta 80.

O cliente HTTP envia uma mensagem de requisição HTTP ao servidor através de

seu socket. Essa mensagem inclui o nome de caminho /someDepartment/home.

(13)

Conexões não persistentes

O processo servidor HTTP recebe a

mensagem de requisição através de seu

socket, extrai o objeto /someDepartment/ home.index de seu armazenamento (RAM ou disco), encapsula o objeto em uma

(14)

Conexões não persistentes

O processo servidor HTTP ordena ao TCP que encerre a conexão TCP (O

TCP encerra após ter a certeza que o cliente recebeu toda mensagem).

(15)

Conexões não persistentes

O cliente HTTP recebe a mensagem de

resposta e a conexão TCP é encerrada. A

mensagem indica que o objeto encapsulado é um arquivo html. O cliente extrai o arquivo

da mensagem de resposta, analisa o arquivo HTML e encontra referências aos 10 objetos JPEG.

(16)

Conexões não persistentes

O usuário pode configurar o browser para controlar grau de conexões

paralelas.

O padrão utiliza de 5 a 10 conexões paralelas.

O número de conexões paralelas interfere na velocidade.

(17)

Conexões persistentes

A conexão é estabelecida e mantida. Para cada conexão é alocado:

buffers TCP;

(18)

Conexões persistentes

Desvantagem: sobrecarga.

Encerra a conexão depois de um determinado tempo em desuso. Conexões persistentes em

(19)

Formato da mensagem HTTP

Tipos de mensagem HTTP: Mensagem de requisição; Mensagem de resposta.

(20)

Mensagem de requisição

GET /somedir/page.html HTTP/ 1.1 Host: www.someschool.edu conection: close User-agent: Mozilla/4.0 Accept-language: fr

(21)

Mensagem de requisição

GET /somedir/page.html HTTP/ 1.1

Get: método (GET, POST, HEAD)

/somedir/page.html: URL (objeto) HTTP/1.1: versão do HTTP

(22)

Mensagem de requisição

Host: www.someschool.edu Especifica o hospedeiro.

(23)

Mensagem de requisição

conection: close

Indica para fechar a conexão. Não usa conexão persistente.

(24)

Mensagem de requisição

User-agent: Mozilla/4.0 Especifica o agente de usuário.

Pode diferenciar de acordo com o browser.

(25)

Mensagem de requisição

Accept-language: fr

Específica qual o tipo de linguagem preferencial.

(26)
(27)

Mensagem de resposta HTTP

HTTP/1.1 200 Ok

Connection: close

Date: Sat, 07 Jul 2007 12:00:15 GMT Server: Apache/1.3.0 (Unix)

Last-Modified: Sun, 6 May 2007 09:23:24 GMT

Content-Length: 6821

(28)

Mensagem de resposta HTTP

HTTP/1.1 200 Ok Linha de estado. Possui três campos: versão do protocolo (HTTP/1.1); código de estado;

mensagem de estado correspondente (ok).

(29)

Mensagem de resposta HTTP

Connection: close Início do cabeçalho.

(30)

Mensagem de resposta HTTP

Date: Sat, 07 Jul 2007 12:00:15 GMT

Indica a hora e a data que a

resposta foi criada e enviada pelo servidor.

(31)

Mensagem de resposta HTTP

Server: Apache/1.3.0 (Unix) Indica o servidor.

Análogo à linha de cabeçalho User-agent da mensagem de requisição.

(32)

Mensagem de resposta HTTP

Last-Modified: Sun, 6 May 2007 09:23:24 GMT

Indica a hora e a data que o objeto foi modificado.

(33)

Mensagem de resposta HTTP

Content-Length: 6821

(34)

Mensagem de resposta HTTP

Content-Type: text/html Indica o tipo do objeto.

(35)

Mensagem de resposta HTTP

(data data data data...) Armazena os dados.

(36)
(37)

Códigos de estado

200 OK: requisição bem sucedida com informação entregue com a resposta. 301 Moved Permanently: objeto

requisitado foi removido

permanentemente; nova URL é

(38)

Códigos de estado

400 Bad Request: código genérico de erro que (requisição não entendida pelo servidor).

404 Not Found: documento não existe. 505 HTTP Version Not Support: a

versão do protocolo HTTP requisitado não é suportada.

(39)

HTTP

Quais linhas de cabeçalho incluir na mensagem de requisição?

Quais linhas de cabeçalho incluir na mensagem de resposta?

(40)

HTTP

Quais linhas de cabeçalho incluir na mensagem de requisição?

Quais linhas de cabeçalho incluir na mensagem de resposta?

As linhas são escolhidas em função do tipo e versão do browser.

(41)

Cookies

Necessidade de identificar conexões.

Questão de restrição.

Questão de sugestão de conteúdo. Mas como fazer isso??

(42)

Cookies

Utiliza Cookies (RFC 2965).

(43)

Tecnologia dos cookies

Possui quatro componentes:

uma linha de cabeçalho de cookie na mensagem de resposta HTTP;

uma linha de cabeçalho de cookie na mensagem de requisição

(44)

Tecnologia dos cookies

um arquivo de cookie mantido no sistema final do usuário e

gerenciado pelo browser do usuário;

um banco de dados de apoio no site.

(45)

Tecnologia dos cookies

Exemplo: supomos que Teresa utiliza o

Internet Explore e esteja acessando o site da Amazon.com pela primeira vez, porém, no passado, ela tenha acessado o

eBay.com. Quando a requisição chega no

servidor da Amazon ele cria um número de identificação exclusivo e uma entrada no

(46)

Tecnologia dos cookies

Exemplo: com isso o servidor

responde a requisição adicionando a linha no cabeçalho Set-cookie.

(47)

Tecnologia dos cookies

Exemplo: ao receber a mensagem com o número de identificação do

cookie, o browser de Teresa adiciona uma linha ao arquivo de cookies que ele gerencia (o arquivo já possui a

(48)

Tecnologia dos cookies

Exemplo: toda vez que o Teresa faz uma requisição para o Amazon, seu browser consulta o arquivo de

cookie, extraí o número de

identificação e coloca na mensagem de requisição (Cookie: 1678).

(49)

Tecnologia dos cookie

Para que serve:

identificar as páginas;

oferecer serviços e produtos;

(50)

Tecnologia dos cookies

Vantagem:

sempre que Teresa acessar a

Amazon será associado ao cookie; caso Teresa efetue um cadastro, as informações são associadas ao cookie.

(51)

Tecnologia dos cookies

Desvantagem:

invasão de privacidade; insegurança.

(52)
(53)

Caches Web

Cache Web ou Servidor Proxy: é uma entidade da rede que atende

requisições HTTP em nome de um servidor Web de origem.

(54)

Caches Web

Propriedades:

possui um disco de armazenamento;

é consultado primeiramente;

armazena uma cópia do objeto caso não tenha.

(55)
(56)

Cache Web

Geralmente instalado por um ISP (Internet service provider).

Otimiza o tempo de resposta.

Reduz o tráfego no enlace de acesso do cliente à internet.

(57)

Cache Web

Problema da utilização do cache: desatualização de objetos.

(58)

Get condicional

Solução HTTP:

Get condicional.

Definição: mecanismo que permite que um cache verifique se seus

(59)

Get condicional

Condição:

usar o método GET;

possuir uma linha de cabeçalho If-Modified-Science;

(60)

Get condicional (Exemplo)

Servidor proxy envia uma mensagem de requisição:

GET /fruit/kiwi.gif HTTP/1.1 Host: www.exotiquecuisine.com

(61)

Get condicional (Exemplo)

Servidor web envia uma mensagem de resposta:

HTTP/1.1 200 Ok

Date: Sat, 7Jul2007 15:39:29 Server: Apache/1.3.0(Unix)

Last-Modified:Wed,4Jul 2007 09:23:24

(62)

Get condicional (Exemplo)

Servidor proxy envia uma verificação de atualização:

GET /fruit/kiwi.gif HTTP/1.1 Host: www.exotiquecuisine.com If-modified-since:Wed,4Jul

(63)

Get condicional (Exemplo)

Servidor web envia uma mensagem resposta:

HTTP/1.1 304 Not Modified Date: Sat, 13Agost2007

15:39:29

(64)

Get condicional

Mas não é feita uma requisição e obtém-se uma resposta? Isso não vai gerar custos?

(65)

Get condicional

Resposta:

HTTP/1.1 304 Not Modified Date: Sat, 13Agost2007

15:39:29

Server: Apache/1.3.0(Unix) (Corpo de mensagem vazio)

Referências

Documentos relacionados

Serviço de Informação ao Cidadão (e-SIC) como sistema centralizado para o tratamento de pedidos de acesso à informação amparada pela Lei de Acesso (Lei 12.527/2011),

com simultânea alta do salário médio em ritmo mais pronuncia- do que o do salário mínimo, pa- rece provável que a procura de.. empregados qualificados

No entanto, para além da carne, existe um vasto leque de produtos derivados das aves que o Homem explorou ao longo dos tempos: os ovos, as penas, os dejectos de espécies mantidas

esse permanecer em tanta fuga. O tempo, o fluir, como algo que deve ser afirmado. Não se deve chorar porque as plantas crescem e o tempo passa, não se deve estar triste

O jornal Correio Braziliense publicou na coluna Opinião um artigo do cientista político Eliézer Rizzo de Oliveira, analisando a criação do Ministério da Defesa

O problema de planejamento da operação de curto prazo consiste em definir um conjunto ótimo de unidades geradoras que deve estar operando, bem como o seu nível de geração, para

O mosaico do Pantanal elaborado pela Embrapa Pantanal e financiado pela WWF Brasil com imagens do satélite Landsat para o ano 2000,.. Mosaico de imagens de satélite do Pantanal no