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

Documentos relacionados
CCT0298 ANALISE DE REDES Aula : Trafego HTTP

Redes de Computadores I

Universidade Federal de Mato Grosso

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

Protocolo HTTP. Professor Leonardo Larback

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

INTRODUÇÃO À INTERNET E À WORLD WIDE WEB

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

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.

Aula 1 Cleverton Hentz

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

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

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

Transferência de Arquivo: Protocolo FTP

1.264 Lição 11. Fundamentos da Web

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora.

Hypertext Transfer Protocol

Programação para Internet Flávio de Oliveira Silva, M.Sc.

A Camada de Aplicação

Teleprocessamento e Redes

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

Comunicação entre Processos

Protocolos de Rede. Protocolos em camadas

Desenvolvimento Web Protocolos da Internet

Redes de Computadores RES 12502

Redes de Computadores e a Internet

ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP

Camada de Transporte Protocolos TCP e UDP

TECNOLOGIA WEB. Principais Protocolos na Internet Aula 2. Profa. Rosemary Melo

Módulo 11 A Web e seus aplicativos

Prof. Marcelo Cunha Parte 6

Arquiteturas de Protocolos. Aplicação. Redes. Aplicações cliente-servidor. Aplicações peer-to-peer

HYPERTEXT TRANSFER PROTOCOL

Funcionalidade e Protocolos da Camada de Aplicação

Camada de Aplicação Protocolo FTP e Correio Eletrônico

Aulas Práticas. Implementação de um Proxy HTTP. O que é um proxy?

O protocolo HTTP. O que é o protocolo HTTP?

Programação para Internet I. 2. O protocolo HTTP. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt


PROTOCOLOS. Protocolo pode ser entendido como um conjunto de regaras para estabelecer comunicação entre dois entitdades.

Universidade Federal do Rio Grande do Norte

Professor: Macêdo Firmino Disciplina: Redes de Computadores II

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

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Tecnologias para Web Design

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Programação TCP/IP. Protocolos TCP e UDP

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

Programação para a Web - I. José Humberto da Silva Soares

Prof RG Crespo Criptografia e Segurança das Comunicações. Introdução à segurança de protocolos. Pilha de protocolos (1)

Redes de Computadores

INTERNET. A figura mostra os inúmeros backbones existentes. São cabos de conexão de altíssima largura de banda que unem o planeta em uma rede mundial.

Redes de Computadores

Desenvolvimento Web Histórico da Internet e Protocolos

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

Escola Politécnica da Universidade de São Paulo

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão

Um pouco sobre Pacotes e sobre os protocolos de Transporte

Protocolo HTTP. Palavras-chave: Navegador, aplicativos, web, cliente, servidor.

2Arquitetura cliente-servidor

Passando pelas Camadas TCP/IP Transmissão de Dados

Camada de Aplicação. Prof. Eduardo

TECNOLOGIA WEB INTERNET PROTOCOLOS

HyperText Transfer Protocol (HTTP)

Protocolos de Internet (família TCP/IP e WWW) Primeiro Técnico. Prof. Cesar

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Autoria Web Apresentação e Visão Geral sobre a Web

Administração de Servidores de Rede. Prof. André Gomes

PROTOCOLOS DE COMUNICAÇÃO

REDES DE COMPUTADORES. Prof. Evandro Cantú

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

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

UMA ANÁLISE DAS TROCAS DE MENSAGENS DO PROTOCOLO HTTP ATRAVÉS DE UM SIMULADOR DE REDES DE COMPUTADORES

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

UMA ABORDAGEM SOBRE A INTERFACE DE PROGRAMAÇÃO DE APLICAÇÕES SOCKETS E A IMPLEMENTAÇÃO DE UM SERVIDOR HTTP

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

Redes de Computadores. Protocolos TCP/IP

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

Redes de Computadores Grupo de Redes de Computadores

Redes de Computadores II

INTRODUÇÃO A REDES DE COMPUTADORES. Alan Nakai

O protocolo HTTP. Você aprenderá: O que é e como funciona o protocolo HTTP. Quais são as partes de um pedido HTTP.

Camada de Aplicação da Arquitetura TCP/IP

Conceitos Básicos sobre Sistemas Web: Arquitetura e Serviços. Aécio Costa

PRnet/2013. Linguagem de Programação Web

Redes de Computadores

Redes de Computadores

Curso de Aprendizado Industrial Desenvolvedor WEB

Servidor WWW Apache IFSC UNIDADE DE SÃO JOSÉ CURSO TÉCNICO SUBSEQUENTE DE TELECOMUNICAÇÕES.! Prof. Tomás Grimm

18/04/2006 Micropagamento F2b Web Services Web rev 00

Transferência de arquivos (FTP)

Linux - Servidor de Redes

Práticas de Desenvolvimento de Software

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma

Web das Coisas WoT. Software: APIs para IoT. Prof. João Bosco Teixeira Junior

Teleprocessamento e Redes

Transcrição:

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

Sumário 1 Denições 2 Implementação HTTP 3 Protocolo HTTP/1.1 2 / 22

Denições 1 Denições 2 Implementação HTTP 3 Protocolo HTTP/1.1 3 / 22

Denições O que é HTTP HTTP: Hypertext Transfer Protocol; Protocolo utilizado para transmitir dados através da World Wide Web; Na Web os dados transmitidos (arquivos, imagens, etc) são chamados de recursos; Web x Internet x redes TCP/IP; 4 / 22

Denições Conexão HTTP Figura 1.1: Modelo request/response do HTTP [Hock-Chuan, 2009] 5 / 22

Denições Recursos Um recurso é qualquer pedaço de informação identicado por uma URL. [Marshall, 2012] URL Uniform Resource Location protocol://hostname:port/path-and-le-name A URL possui quatro partes: 1. Protocolo Protocolo utilizado tanto por cliente quanto por servidor. Ex.: telnet, HTTP, etc. 2. Endereço DNS do domínio ou endereço IP; 3. Porta Porta que está escutando requisições dos clientes; 4. Caminho e arquivo Nome e local do arquivo no diretório do servidor. 6 / 22

Denições Estrutura das transações HTTP O protocolo HTTP utiliza o modelo client-servidor; Realiza um uxo de operações para transmissão das informações: 1 O cliente HTTP abre uma conexão com o servidor HTTP; 2 Depois envia uma requisição; 3 o servidor retorna uma resposta, normalmente contendo o recurso solicitado; 4 Após o envio da resposta o servidor fecha a conexão. O protocolo HTTP é stateless, ou seja, não guarda informação sobre as conexões realizadas e os dados enviados. 7 / 22

Denições Formato do HTTP [Marshall, 2012] HTTP <linha inicial, diferente para requisição e resposta> Header1: value1 Header2: value2 Header3: value3 <corpo da mensagem> 8 / 22

Implementação HTTP 1 Denições 2 Implementação HTTP 3 Protocolo HTTP/1.1 9 / 22

Implementação HTTP Requisição Linha inicial da requisição GET /path/to/le/index.html HTTP/1.0 GET representa o método http; A parte iniciada com /path é chamada de caminho ou URI Uniform Resource Identier; A versão do protocolo HTTP é sempre representada no formato HTTP/x.x onde x.x representa a versão do protocolo. 10 / 22

Implementação HTTP Resposta Linha inicial da resposta HTTP/1.0 200 OK A versão do HTTP deve estar no mesmo formato da requisição (HTTP/x.x); O código de status é legível apenas por máquinas e representa uma resposta interpretável para a sua requisição; O texto após o código de status é para facilitar a visualização da resposta. 11 / 22

Implementação HTTP Outros componentes Cabeçalhos (Header lines); Corpo da mensagem (Message body); O cabeçalho descreve o conteúdo do corpo da requisição; Traz informações que facilitam o parsing da resposta HTTP. 12 / 22

Implementação HTTP Exemplo completo Figura 2.1: Exemplo completo de uma requisição e uma resposta HTTP 13 / 22

Implementação HTTP Outros métodos HTTP HEAD Solicita somente os Headers ao servidor Web; POST Envia dados para o servidor; RESTfull API Utiliza um novo conjunto de métodos HTTP para realizar operações diferentes. 14 / 22

Protocolo HTTP/1.1 1 Denições 2 Implementação HTTP 3 Protocolo HTTP/1.1 15 / 22

Protocolo HTTP/1.1 Host: Header Utilização de múltiplos domínios no mesmo IP; É o único parâmetro que passa a ser obrigatório no HTTP/1.1. Conexão utilizando host GET /path/le.html HTTP/1.1 Host: www.host1.com:80 [linha em branco acima] 16 / 22

Protocolo HTTP/1.1 Chunked Transfer-Encoding O servidor Web começa o envio da resposta antes de saber seu tamanho total; Quebra a resposta em pequenos pedaços (chunks) e envia sequencialmente. Resposta em pedaços (chunks) HTTP/1.1 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/plain Transfer-Encoding: chunked 1a; ignore-stu-here abcdefghijklmnopqrstuvwxyz 10 1234567890abcdef 0 some-footer: some-value another-footer: another-value Resposta normal (sem chunks) HTTP/1.1 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Content-Type: text/plain Content-Length: 42 some-footer: some-value another-footer: another-value abcdefghijklmnopqrstuvwxyz1234567890abcdef [linha em branco acima] 17 / 22

Protocolo HTTP/1.1 Conexões persistentes No protocolo 1.0 a conexão é fechada após o ciclo requisição/resposta estar completo; Abrir e fechar conexões TCP consome uma quantidade considerável de recursos computacionais; No protocolo 1.1 as conexões persistentes são o padrão: Abra uma conexão; Envia várias requisições; Leia os resultados na sequência. A introdução do Header Connection: close indica que a conexão deve ser fechada imediatamente. 18 / 22

Protocolo HTTP/1.1 100 Continue O servidor indica que recebeu a primeira parte da requisição; Vai continuar enviando até terminar; Útil em conexões lentas; Gerenciadores de download. 19 / 22

Protocolo HTTP/1.1 Servidores HTTP/1.1 Header Host obrigatório; Utilização de URL's absolutas; Chunked Transfer-Encoding; Conexões persistentes e o Header Connection-Close; Utilização do 100 Continue; Header Date: Header If-Modied-Since; Suporte aos métodos HEAD e GET (além de outros). 20 / 22

Protocolo HTTP/1.1 OBRIGADO!!! PERGUNTAS??? 21 / 22

Protocolo HTTP/1.1 Hock-Chuan, C. (2009). Introduction to HTTP basics. Disponível em https://www.ntu.edu.sg/home/ehchua/ programming/webprogramming/http_basics.html Acessado em 03/08/2016. Marshall, J. (2012). Http made really easy. Disponível em http://jmarshall.com/easy/http Acessado em 03/08/2016. 22 / 22