Redes de Computadores

Documentos relacionados
PTC Aula A Web e o HTTP. (Kurose, p ) (Peterson, p ) 24/03/2017

Redes de Computadores

Redes de Computadores I. Sockets e Arquitetura HTTP

Redes de Computadores

Redes de Computadores

Redes de Computadores

Redes de Computadores

Redes de Computadores

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Capítulo 2 A Camada de Aplicação Prof. Othon Marcelo Nunes Batista Mestre em Informática

Fernando M. V. Ramos, RC (LEI), TP02. HTTP. Redes de Computadores

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Capítulo 2. Camada de aplicação

Redes de Computadores I

Correio eletrônico. Sistema de correio da Internet composto de

CCT0298 ANALISE DE REDES Aula : Trafego HTTP

Capítulo 7. A camada de aplicação

Capítulo 2 Camada de Aplicação

Mônica Oliveira Primo de Lima Edervan Soares Oliveira TRABALHO SOBRE PROTOCOLO HTTP

Redes de Computadores e a Internet

Escola Politécnica da Universidade de São Paulo

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

Redes de Computadores. Protocolos de Internet

Redes de Computadores

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Capítulo 7. A camada de aplicação

Trabalho de laboratório sobre HTTP

Introdução. Página web. Tipos de documentos web. HyperText Transfer Protocol. Rd Redes de Computadores. Aula 27

Redes de Computadores

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB

Capítulo 1. 4 Modem de conexão discada sobre linha telefônica: residencial;

Protocolo HTTP. Professor Leonardo Larback

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

Redes de Computadores RES 12502

Redes de Computadores e a Internet

Transferência de Arquivo: Protocolo FTP

Protocolo HTTP. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 22

6127. Redes comunicação de dados. 2014/2015. Acesso à Internet.

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO RIO GRANDE DO NORTE DEPARTAMENTO ACADÊMICO DE TECNOLOGIA DA INFORMAÇÃO

Redes de Computadores. Profa. Kalinka Castelo Branco. Junho de Universidade de São Paulo. Camadas de Aplicação. Profa.

Redes de Computadores

REDES DE COMPUTADORES II. TÁSSIO JOSÉ GONÇALVES GOMES

Universidade Federal de Mato Grosso

Aula 6. Disciplina: IF66B Redes de Computadores 2018/1 Universidade Tecnológica Federal do Paraná Câmpus Curitiba. Aula 6. Prof. Daniel F.

Arquitetura TCP/IP Nível de Aplicação (HTTP, SMTP, FTP & DNS) Prof. Helber Silva

Protocolo HTTP. - Características. - Modelo Requisição/Resposta. - Common Gateway Interface (CGI)

Estruturas básicas de redes Internet Padronização e Protocolos

Internet. Geanderson Esteves dos Santos IC (2018/02) Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática

Redes de Computadores Aula 3

Introdução às Redes de Computadores. Prof. M.e Helber Wagner da Silva

Funcionalidade e Protocolos da Camada de Aplicação

Desempenho de Redes de Computadores. Ricardo Couto A. da Rocha 2015

Conceitos Básicos de Planejamento

Redes de Computadores

Introdução à Computação

Redes de Computadores

Escola Politécnica da Universidade de São Paulo

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

Redes de Computadores I Internet - Conceitos

INTERNET P R O F. M A R C O A N T Ô N I O PROF. MARCO ANTÔNIO

Protocolos de Rede. Protocolos em camadas


Laboratório com o Ethereal: HTTP

REDES DE COMPUTADORES. Prof. Evandro Cantú

POLÍTICA DE PRIVACIDADE. Políticas. Resumo Detalhamento da Política de Privacidade ao utilizar a Plataforma de Aplicações TASKED

Redes de Computadores

1.) [exercício 1, cap. 2 Kurose] Analise cada uma das três perguntas e responda se a afirmação é verdadeira ou falsa.

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

Rede de Computadores (REC)

Teia de alcance mundial (World Wide Web WWW) Web composta de

Redes de computadores e a Internet. Redes de computadores e a Internet. Prof. Gustavo Wagner. Capítulo 3. Camada de transporte

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

Aula Prática de Redes Industriais Wireshark

Exercício Programa Mini Web Server

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede

Camada de Aplicação. Redes Industriais Prof. Rone Ilídio

Lista de exercícios - 1º bimestre 2016 REDES

Redes de Computadores

Construção de Sites. Introdução ao Universo Web. Prof. Nícolas Trigo

Redes de Computadores. Camada de Aplicação Profa. Priscila Solís Barreto

2Arquitetura cliente-servidor

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Correio eletrônico. Sistema de correio da Internet composto de

Figura 1: Formato de Requisição HTTP

1.264 Lição 11. Fundamentos da Web

Prof. Marcelo Cunha Parte 6

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Aplicações Multimídia sobre Redes

Nome: Nº de aluno: Indique se vai realizar exame ou 2º teste: Exame: 2º teste: PARTE 1 (7 valores)

Transporte Multimídia em Redes. Transporte Multimídia em Redes. Transmissão multimídia em tempo real. Categorias dos protocolos

Data and Computer Network Endereçamento IP

Desenvolvimento Web II

Firewall - Inspeção com estado. (Stateful Inspection)

Redes de Computadores

SMTP Simple Mail Transport Protocol

Parte I: Introdução. O que é a Internet. Nosso objetivo: Visão Geral:

Cap 03 - Camada de Aplicação Internet (Kurose)

Transcrição:

Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 18 de maio de 2017

Visão Geral 1 Visão Geral 2 3 4

Web e o HTTP Relembrando rapidamente, página web é construída com objetos um objeto pode ser um arquivo HTML, uma imagem JPEG, um applet Java, um arquivo de audio, etc. páginas web são criadas de arquivos HTML base que incluem diversos objetos referenciados cada objeto é endereçável por uma URL, ex.: www.facom.ufms.br/~brivaldo/redes-de-computadores-pt br.html nome do host: www.facom.ufms.br caminho: / brivaldo/redes-de-computadores-pt br.html

Visão Geral do HTTP HTTP: hypertext transfer protocol protocolo da camada de aplicação para Web usa o modelo cliente/servidor: cliente: navegador faz uma requisição, recebe a resposta (usando o protocolo HTTP) e mostra os objetos Web servidor: servidor Web envia (usando o protocolo HTTP) objetos em resposta as requisições

Visão Geral do HTTP usa TCP: cliente inicia uma conexão TCP (cria um socket) com o servidor (porta 80) o servidor aceita a conexão TCP com o cliente mensagens HTTP (mensagens da camada de aplicação) são trocadas entre o navegador (cliente HTTP) e o servidor Web (servidor HTTP) a conexão TCP é encerrada HTTP é sem estado o servidor não mantém informações sobre requisições de clientes antigos protocolos que mantém o estado são complexos! manter o histórico (estado) é possível se o servidor/cliente travar, sua visão do estado pode se tornar inconsistente, mas pode ser reconciliada (recuperada)

Conexões HTTP HTTP não-persistente para cada objeto é criada uma conexão TCP a conexão é então fechada baixar multiplos objetos requer várias conexões HTTP persistente múltiplos objetos podem ser enviados por uma única conexão TCP entre o cliente e o servidor

Conexões HTTP Não-Persistentes Suponha o acesso a URL: http://www.ufms.br/facom/index.html (possui o texto e referência a 10 imagens jpeg) cliente: 1 O cliente HTTP inicia uma conexão TCP com o servidor HTTP (processo) em www.ufms.br na porta 80 servidor: 2 O servidor HTTP no para o host www.ufms.br, que está esperando conexões TCP na porta 80, aceita a conexão e notifica o cliente.

Conexões HTTP Não-Persistentes cliente: 3 o cliente HTTP envia uma mensagem de requisição (contendo a URL) dentro de uma conexão socket TCP. A mensagem indica que o cliente quer o objeto facom/index.html servidor: 4 O servidor HTTP recebe a requisição de mensagem, cria a mensagem de resposta com o objeto requisitado e envia a mensagem ao cliente pelo socket 5 O servidor HTTP encerra a conexão TCP.

Conexões HTTP Não-Persistentes cliente: 6 O cliente HTTP recebe a mensagem de resposta com o arquivo HTML, mostra na tela do usuário. Faz a análise (parsing) do arquivo e acha 10 referências a objetos jpeg. 7 Repete os passos 1-5 para cada um dos 10 objetos jpeg.

Conexões HTTP Não-Persistentes: tempo de resposta RTT (round time trip): tempo para um pequeno pacote viajar do cliente ao servidor e voltar. Tempo de resposta do HTTP: um RTT para iniciar a conexão TCP um RTT para a requisição HTTP e os primeiros bytes da resposta HTTP retornar tempo de envio do arquivo requisitado tempo total de resposta de uma transmissão HTTP não-persistente: t resposta = 2 RT T t envio

Conexões HTTP Persistentes problemas do HTTP não-persistente: precisa de 2 RTTs por objeto sobrecarga do OS para cara conexão TCP navegadores podem abrir conexões TCP em paralelo para baixar objetos referenciados HTTP persistente: servidor mantém a conexão aberta após enviar uma resposta mensagens HTTP subsequentes entre o mesmo cliente/servidor usam a mesma conexão aberta clientes enviam requisições assim que encontram referências a objetos usa apenas um RTT para todos os objetos referenciados

Mensagem de Requisição HTTP dois tipos de mensagem HTTP: requisição e resposta Formato da mensagem de requisição HTTP ASCII (formato legível por humanos)

Mensagem de Requisição HTTP: formato geral

Envio de Informações Método POST: página web deve incluir entradas de formulários (form input) a entrada é enviada para o servidor no corpo de uma entidade Método GET: usa o método GET entradas são enviadas no corpo da requisição: www.facom.ufms.br/buscaprof?brivaldo&redes

Tipos de Métodos HTTP/1.0: GET POST HEAD pede ao servidor para deixar objetos requisitados fora da resposta HTTP/1.1: GET, POST, HEAD PUT envia arquivos no corpo de uma entidade para um caminho especificado no campo URL DELETE apaga um arquivo especificado no campo URL

Mensagem de Resposta HTTP

Resposta de Código de Estado HTTP Códigos de estado (status) aparecem na primeira linha da mensagem de resposta do servidor ao cliente. alguns exemplos de códigos são: 200 OK requisição bem sucedida, objeto requisitado em mensagens posteriores 301 Moved Permanently objeto requisitado foi movido, nova localização especificada em mensagem posterior (Location:) 400 Bad Request mensagem de requisição não compreendida pelo servidor 404 Not Found objeto requisitado não encontrado neste servidor 505 HTTP Version Not Suported

Experimentando o HTTP (lado do cliente)

Estado do usuário-servidor: cookies Vários sites Web usam cookies. quatro componentes principais: 1 a linha sobre cookie no cabeçalho de resposta do HTTP 2 a linha sobre cookie no cabeçalho da mensagem de resposta na próxima requisição HTTP 3 o arquivo de cookie armazenado na máquina do usuário e gerenciado pelo navegador 4 a base de dados armazenada por trás dos panos no Web site exemplo: Susan sempre acessa a Internet do computador visita um site de e-commerce pela primeira vez quando a requisição HTTP inicial chega ao site, ele cria: ID único uma entrada no banco de dados de retaguarda para o ID

: mantendo o estado

Estado do usuário-servidor: cookies para que cookies são usados: autorização carrinhos de compras recomendações estado de sessão do usuário (Web email) como mantém o estado : protocolo final: mantém o estado entre o receptor/emissor entre múltiplas transações cookies: carregam o estado nas mensagens HTTP cookies e a privacidade: cookies permitem sites aprender muito sobre você fornece usuário e email para sites

Web Cache (servidor proxy) objetivo: satisfazer uma requisição do cliente sem envolver o servidor original o usuário configura o navegador para acessar a Web por um cache navegador envia todas as requisições HTTP para o cache objeto está no cache: cache retorna o objeto faz cache do objeto requisitado e retorna o objeto ao cliente

Web Cache (servidor proxy) objetivo: satisfazer uma requisição do cliente sem envolver o servidor original cache age como cliente e servidor servidor para a requisição original do cliente cliente para o servidor destino cache s típicos são instalados pelo ISP (universidade, empresa, ISP residencial) Por que fazer Web caching? redução do tempo de resposta do cliente redução do tráfego no link de acesso da instituição Uma Internet densa de caches s permite provedores de conteúdo pobres entregar efetivamente conteúdo (de forma similar ao que o P2P faz com compartilhamento de arquivos)

Web Cache (servidor proxy): exemplo Seja uma instituição ligada na Internet por um enlace de 1.5 Mbps O tamanho médio dos arquivos 1 Mbit A taxa média de requisição é de 15 requisições/s O tamanho das mensagens HTTP seja desprezível O RTT (atraso da Internet) seja de 2 s em média O tempo de resposta total será a soma do atraso da LAN, atraso do acesso e atraso da Internet.

Web Cache (servidor proxy): exemplo Logo, a intensidade do tráfego na LAN será: (15req/s) 1Mbit/req = 0, 15 100Mbps (o que da um atraso, quase desprezível, de algumas dezenas de milisegundos) e o atraso do tráfego no enlace de acesso a Internet: (15req/s) 1Mbit/req = 1 (dada 15Mbps a intensidade, o atraso é grande, ou seja, vários minutos, o que é inaceitável)

Web Cache (servidor proxy): exemplo Uma solução é aumentar a velocidade de acesso no enlace de acesso a Internet de 15 Mpbs para 100 Mbps Esse aumento levaria a intensidade do tráfego no enlace de acesso para 0, 15, fazendo com o que o atraso da Internet domine o tempo que seria pouca coisa maior que 2 segundos. Custos do aumento podem ser proibitivos

Web Cache (servidor proxy): exemplo Suponha agora que uma fração das requisições sejam atendidas por um cache (em geral em torno de 20 à 70% na prática) em 40% das requisições. Digamos que como as máquinas estão na mesma rede LAN de alta velocidade, sejam gastos 10ms para atender requisições em cache

Web Cache (servidor proxy): exemplo Mesmo assim teríamos 60% das requisições sendo enviadas para os servidores na Internet, mas a intensidade do tráfego sairia de 1 para 0, 6 (no geral, intensidades inferiores a 0, 8 impactam com um pequeno atraso apenas) Logo o tempo médio do atraso será: 0, 4 (0, 01s) + 0, 6 (2, 01)s = 1, 21s, que é menor até mesmo que a solução de aumento simples do enlace de acesso.

GET Condicional Notamos que o uso de cache reduzem bastante o tempo de acesso do ponto de vista do usuário Contudo, como garantir que o dado recebido pelo usuário é o mais atual? E se o cache tiver uma informação desatualizada? o HTTP possui um mecanismo que permite que o cache verifique se sua informação é a mais atual (GET Condicional) uma entrada If-Modified-Since: <data> auxilia na decisão de requisitar ou não novamente um objeto ao servidor na Internet Se o arquivo requisitado não foi modificado desde a última requisição, o objeto continua inalterado no cache e é entregue ao cliente, caso contrário o cache atualiza seu objeto e devolve o novo objeto ao cliente

CDNs - Content Delivery Network Geralmente empresas de grande porte como Google, Amazon, Akamai, Microsoft, Facebook, Netflix, Spotify, etc, distribuem caches de conteúdo geograficamente pelo mundo para reduzir o tráfego global e tempo de acesso dos usuários. Muito usado para reduzir o tráfego de conteúdo multimídia. Iremos estudar CDNs futuramente, mas saibam que elas desempenham papel importante na Internet.

Perguntas?