Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora. www.novateceditora.com.br



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

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

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

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

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

Desenvolvimento de Aplicações Web

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

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

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

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Aula 1 Cleverton Hentz


REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

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

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

REDES DE COMPUTADORES

DWEB. Design para Web. Fundamentos Web I. Curso Superior de Tecnologia em Design Gráfico

Rede de Computadores (REC)

HTML Página 1. Índice

CAPÍTULO 2. Este capítulo tratará :

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

UNIVERSIDADE. Sistemas Distribuídos

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

Internet - A rede Mundial

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo


Prof. Marcelo Cunha Parte 5

ALCY JOSÉ VIEIRA NETO ALEXANDRE SOHN CINTIA CAVICHIOLO PROTOCOLO HTTP

REDES DE COMPUTADORES

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Redes de Computadores. Prof. André Y. Kusumoto

Camada de Aplicação. Prof. Eduardo

Programação WEB Introdução

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

Ferramentas para Desenvolvimento Web

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

Introdução à Camada de Aplicação. Prof. Eduardo

Linux - Servidor de Redes

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

Arquitetura de Redes de Computadores. Bruno Silvério Costa

Capítulo 11 - Camada de Transporte TCP/IP e de Aplicação. Associação dos Instrutores NetAcademy - Julho de Página

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

PROJETO E IMPLANTAÇÃO DE INTRANETS

SISTEMAS DISTRIBUIDOS

Camada de Transporte TCP/IP e Aplicação

Desenvolvimento Web Protocolos da Internet

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Informática I. Aula Aula 22-03/07/06 1

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Programação e Designer para WEB

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

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

UFG - Instituto de Informática

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

1.1 Porque um nível de aplicação proxy?

Redes de Computadores e a Internet

O protocolo HTTP. O que é o protocolo HTTP?

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Considerações no Projeto de Sistemas Cliente/Servidor

1.264 Lição 11. Fundamentos da Web

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

TRIBUNAL DE CONTAS DO DISTRITO FEDERAL

INTERNET. Professor: Leandro Crescencio Colégio Politécnico 1

Programando em PHP. Conceitos Básicos

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

WWW - World Wide Web

Redes de Computadores II

INTERNET. TCP/IP protocolo de comunicação sobre o qual se baseia a Internet. (conjunto de regras para a comunicação entre computadores)

11 - Q34826 ( FCC DPE - SP - Oficial de Defensoria Pública / Noções de Informática / Internet e intranet; )

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Capítulo 7 CAMADA DE TRANSPORTE

Desenvolvendo para WEB

Redes de Computadores. Protocolos de comunicação: TCP, UDP

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

Permite o acesso remoto a um computador;

PRnet/2013. Linguagem de Programação Web

Servidor, Proxy e Firewall. Professor Victor Sotero

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Internet Visão Geral. O que é a Internet? Ong Ação Cidadã

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

CONSTRUÇÃO DE PÁGINAS WEB I. Prof. Antonio Miguel Faustini Zarth

ftp://ftp.cr-df.rnp.br/pub/netinfo/training/rnp/kit-bsb/html/guia.zip novembro 1996 Tutorial - Autoria em World Wide Web

AULA 01 INTRODUÇÃO. Eduardo Camargo de Siqueira REDES DE COMPUTADORES Engenharia de Computação

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

MÓDULO 8 Modelo de Referência TCP/IP

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

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

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

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

Redes de Computadores Modelo de referência TCP/IP. Prof. MSc. Hugo Souza

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

INTERNET CONCEITOS. Internet é a "grande rede mundial de computadores"

Transcrição:

Guia de Consulta Rápida HTTP Décio Jr. Novatec Editora www.novateceditora.com.br

Guia de Consulta Rápida HTTP de Décio Jr. Copyright 2001 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução dessa obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, dos autores e da Editora. ISBN: 85-7522-010-1 Novatec Editora Ltda. Rua Cons. Moreira de Barros 1084 Conj 01 02018-012 São Paulo - SP Brasil Tel.: (0xx11) 6959-6529 Fax: (0xx11) 6950-8869 E-mail: novatec@novateceditora.com.br Site: www.novateceditora.com.br 2

Sumário Sumário Introdução... 5 A Web e a Internet... 5 A Web e o HTTP... 5 O protocolo de comunicação... 5 O surgimento do protocolo HTTP... 6 O protocolo HTTP... 6 O modelo de referência OSI... 7 As camadas de protocolos... 8 O HTTP e o TCP/IP... 9 O que são recursos (resources)... 10 Um esquema compreensível de endereçamento... 10 HTML & URL, URI, URN... 12 HTML, XHTML e XML... 12 Estrutura do protocolo HTTP... 13 Arquitetura Cliente/Servidor... 13 Conectividade e Interface... 13 Os navegadores (browsers)... 14 Transações HTTP... 15 Métodos principais... 20 Cabeçalhos (headers) HTTP... 27 Sumário dos cabeçalhos... 27 Cabeçalhos gerais... 31 Cabeçalhos de requisições de clientes... 45 Cabeçalhos de resposta do servidor... 65 Cabeçalhos de entidades... 72 Códigos de retorno... 82 Variáveis de ambiente... 89 Aplicações do protocolo... 96 WebServ Perl... 96 Servidores Proxy... 98 Funcionamento do servidor Proxy... 99 HttpSniff... 102 LWP Módulo Perl... 104 3

Sumário Miscelânea... 105 Telnet na Porta 80 (padrão)... 105 Especificações do HTTP, HTML e CGI... 106 Histórico e evolução do protocolo... 107 Conceitos importantes... 110 Chunked Transfer-Encoding... 112 Código de resposta "100 Continue"... 113 Utilizando o código de resposta 100 Continue... 114 Servidores HTTP 1.1... 115 Aceitando URL absoluta... 115 Codificação de transferência em blocos... 115 Manipulando os cabeçalhos de requisição If-Modified- Since: ou If-Unmodified-Since:... 116 Suporte aos métodos GET e HEAD... 118 Suporte às requisições HTTP 1.0... 118 Conexões persistentes... 118 O Protocolo HTTP e a CGI... 121 Informações adicionais... 122 Notação sintática utilizada... 123 Sobre o autor... 123 Comentários e sugestões... 123 Índice... 124 4

Introdução Introdução A Web e a Internet A Internet é uma rede de comunicações de abrangência mundial e a World Wide Web é uma forma particular de utilização da Internet. A World Wide Web ou simplesmente Web, WWW ou W3 é um dos serviços baseados em hipertextos mais populares fornecidos por meio da Internet. Mas não é apenas isso: a Web é o conjunto de todos os navegadores, servidores, arquivos ou recursos, e qualquer outro serviço disponível e acessível através de um browser na Internet. A Web tornou-se a tecnologia de informação mais importante dos últimos anos. Não há como negar que grande parte das aplicações hoje em dia são voltadas para a Web, seja para Intranet, Extranet ou Internet. Mas, afinal de contas, o que faz a Web funcionar? A Web e o HTTP A Web está relacionada à distribuição de documentos e informações pela Internet, e o HTTP tem como função servir como o protocolo de rede da Web. Embora seja um protocolo relativamente simples, poderoso e flexível, o conhecimento dos detalhes do HTTP permite desenvolver programas para navegadores Web, servidores Web, páginas automáticas de download, verificadores de consistência de links, e diversas outras ferramentas úteis. O protocolo de comunicação A Web utiliza a Internet como meio de comunicação, devendo obedecer aos protocolos de comunicação próprios da Internet. Um protocolo é um conjunto de regras que administra os procedimentos para troca de informações. 5

Introdução O surgimento do protocolo HTTP O protocolo HTTP foi implementado nos anos de 1989 a 1991 no CERN (European Center for High-Energy Physics) em Genebra, na Suíça, por um físico inglês chamado Tim Berners-Lee. A proposta inicial era facilitar a comunicação e compartilhar informações entre os pesquisadores. Deveria existir uma forma de localizar documentos em um computador que pudesse fornecer ligações (links) para documentos localizados em outros computadores em uma rede. Uma das principais características do HTTP estaria na representação dos dados (formato e negociação), permitindo que os sistemas pudessem ser construídos independentemente dos dados que seriam transferidos. O protocolo HTTP O HTTP (HyperText Transfer Protocol) é o protocolo de rede utilizado para entregar virtualmente todos os arquivos e outros dados (de forma abrangente chamados de recursos ou resources) na Word Wide Web, sejam eles documentos HTML, arquivos de imagens, resultados de consulta a bancos de dados, arquivos de texto, ou qualquer outro tipo de recurso. É responsável pela maioria das transações realizadas na Internet e, conseqüentemente, também é o grande responsável pelo sucesso da Web. O protocolo de transferência de hipertextos surgiu da necessidade de distribuição de informações na Internet, que poderia ser na forma de texto, som ou imagem. Para que essas transferências fossem possíveis houve a necessidade de desenvolver uma forma padronizada de comunicação entre os clientes e os servidores Web. A partir daí o protocolo HTTP passaria a especificar como as transações entre clientes e servidores seriam realizadas, ou seja, de que forma seriam feitas as requisições de dados e como seriam aceitas e respondidas pelos servidores de recursos na Internet. 6

O modelo de referência OSI Introdução É o modelo-padrão de referência para comunicação entre aplicações em uma rede, cujo objetivo é definir as regras de conectividade para interligar sistemas de computadores locais ou remotos. 7

Introdução As camadas de protocolos Em um sistema de comunicação em rede, os diversos protocolos existentes trabalham de forma coopertiva para fornecer serviços. O modelo de referência OSI da ISO define 7 camadas, e a arquitetura Internet baseia-se em quatro camadas conforme a figura a seguir. A camada de aplicação, onde se situa o protocolo HTTP, envia ou recebe mensagens HTTP para ou da camada imediatamente inferior ou superior, a de transporte (TCP), que tem como função tornar confiável a transferência de informações. A camada do Protocolo Internet (IP) recebe ou envia pacotes individuais de informações e os encaminha aos seus destinos. 8

Introdução O HTTP e o TCP/IP O Protocolo de Controle de Transmissão da Internet (TCP) e o IP (Internet Protocol) tornam possível a conectividade entre navegadores e servidores. Além dos protocolos TCP/IP para comunicação por meio da Internet, a Web também utiliza seu próprio protocolo - o HTTP - para troca de informações entre clientes e servidores. O HTTP é utilizado pelos clientes para requisitarem documentos ou serviços dos servidores, que retornarão os documentos ou resultados para os clientes. Geralmente, o protocolo HTTP funciona mediante conexões TCP/IP (sockets TCP/IP).O HTTP é o protocolo utilizado para a comunicação entre computadores na Internet ao mesmo tempo em que define as regras básicas para as transações entre clientes e servidores na Web. A rigor, o HTTP é uma aplicação como qualquer outra baseada no Unix padrão, como o FTP, o Telnet, o SMTP e outras. MsgHTTP = Mensagem HTTP TCP + Mensagem HTTP = Segmento TCP IP + Segmento TCP = IP Datagrama Rede + IP Datagrama => pacote ou frame Datagrama é um pacote de informação que contém os dados do cliente/ usuário, permitindo sua transferência em uma rede de pacotes. 9

Introdução O que são recursos (resources) O protocolo HTTP é utilizado para transmitir recursos e não apenas arquivos. Um recurso é qualquer trecho de informação que possa ser identificado por um URL (Uniform Resource Locator). O tipo mais comum de recurso é um arquivo (HTML ou ASCII), mas pode ser também um documento de qualquer outro tipo, o resultado de uma consulta a um banco de dados que fora gerado dinamicamente, a saída de um script CGI, e qualquer outro recurso que esteja disponível no servidor. De modo mais abrangente, um recurso pode ser encarado como um arquivo; de forma mais específica, a maioria dos recursos são arquivos ou saídas de scripts geradas pelo servidor (server-side script). Um esquema compreensível de endereçamento O protocolo HTTP utiliza o conceito de referência fornecido pelo Universal Resource Identifier (URI), assim como o URL (Universal Resource Locator) ou o URN (Universal Resource Name), para indicar o recurso sobre o qual um método será aplicado. Quando um hiperlink HTML estiver formado, a URL (Uniform Resource Locator) é representada pela forma geral http:// host:número-porta/caminho/arquivo.html. Geralmente, uma referência URL é do tipo serviço://host/ arquivo.extensão e desta forma o protocolo HTTP pode incluir os serviços mais básicos da Internet (http, ftp, gopher, file, news, ldap...). URL (Uniform Resource Locator) Na Web, um recurso é representado por qualquer conjunto de dados ou informações que esteja disponível em algum lugar, geralmente em um servidor ligado à Internet. Esse recurso pode estar em um formato de texto ASCII (txt, por exemplo), ou no formato de página HTML, ou um script CGI ou ainda uma imagem. O URL é a forma-padrão utilizada para localizar um recurso na Web. Deve ficar claro que URL não é algo específico do protocolo HTTP, podendo ser utilizado para localização de recursos com muitos outros protocolos. O entendimento dos elementos de um URL é um auxílio para a melhor compreensão do funcionamento das transações do protocolo HTTP. 10

Introdução Elementos de uma URL O navegador interpreta o URL da esquerda para a direita, da seguinte forma: Elemento Descrição http:// user Indica o esquema a ser usado, ou seja, utiliza o protocolo HTTP; https significa um pedido de conexão a um servidor Web seguro (SSL). Nomedousuárioaserutilizadonocasodetentativade acesso a um recurso protegido. senha Senha do usuário a ser utilizada no caso de tentativa de acesso a um recurso protegido. www.dominio.com.br Indicaoendereçovirtualdocomputador(host servidor) na Internet com o qual deverá entrar em contato para estabelecer uma conexão. :80 Deve estabelecer a conexão na porta 80 do servidor; o número da porta pode ser qualquer outro que esteja disponível no servidor e que tenha sido configurado para essa função. Caso seja omitido, assume-se que o número da porta-padrão para acesso HTTP éa80. O número de porta 443 é utilizado para conexões por meio do https. / O que segue a barra após o nome do host e o número da porta está relacionado ao recurso ou documento a ser requisitado. /docs/doc.html Defineocaminhoeaidentificaçãodorecurso.Também poderia ser um script CGI a ser executado no servidor.?ano=2001&mes=08 Passagemdeumparâmetroparadeterminaraconsulta de apenas alguns itens. #d10 O fragmento representa onde deverá ser posicionado o item requisitado no resultado da consulta. 11

Introdução HTML & URL, URI, URN HTML (HyperText Markup Language) ou Linguagem de Marcação de HiperTexto estabelece as convenções para a descrição do conteúdo de um documento hipertexto, conforme a World Web Consortium (W3C). URL, URI, URN Abreviação Significado URL URI URN Uniform Resource Locator Uniform Resource Identifier Uniform Resource Name URI é uma forma generalizada para se referir a um recurso: um URI inclui um URL e um URN, ou seja, URN se refere ao nome do recurso em si (por exemplo, um arquivo) e a URL se refere à localização desse recurso, e ambos formam um URI: a identificação uniforme de um mesmo recurso. Portanto, se estivermos tratando de recursos na Web, dar-se-á preferência à utilização dos termos URL ou URI sem se preocupar em fazer distinção entre os dois. HTML, XHTML e XML XHTML é considerada o futuro da HTML e uma forma de transição para a XML. XHTML possui elementos de formatação da HTML 4.01, mas segue algumas regras definidas pela XML. XML é um padrão para descrição de dados, ao passo que HTML se limita à descrição de conteúdo. XHTML e XML são dois padrões que deverão receber muita atenção nos próximos anos. 12

Estrutura do protocolo HTTP Arquitetura Cliente/Servidor O protocolo HTTP é baseado no paradigma de requisição e resposta. Um navegador é um cliente HTTP porque envia suas requisições a um servidor HTTP (Web server), que por sua vez responde de volta ao cliente. Conectividade e Interface Estrutura do protocolo HTTP Conectividade e interface são duas características fundamentais da Internet. A interface do usuário é representada pelos navegadores. A rede e os protocolos envolvidos nas transferências entre clientes e servidores, que processam as requisições e retornam os mais variados tipos de mídias, são a base de toda essa estrutura. Requisição e Resposta Um programa requisitante (cliente) estabelece uma conexão com um outro programa receptor (servidor) e envia uma requisição para o servidor na forma de um método de requisição, o URI, a versão do protocolo, seguida por uma mensagem contendo os modificadores da requisição, informação sobre o cliente, e possivelmente o conteúdo no corpo da mensagem. O servidor responde com uma linha de status (status line) incluindo sua versão de protocolo e um código de operação bem-sucedida ou um código de erro, seguido pelas informações do servidor, metainformações da entidade e possível conteúdo no corpo da mensagem. A comunicação ocorre geralmente sobre uma conexão TCP/IP na Internet, mas isso não impede que o protocolo HTTP seja implementado no topo de qualquer outro protocolo, contanto que a segurança seja garantida. A porta-padrão na qual os servidores HTTP atenderão às requisições é a de número 80, muito embora seja possível utilizar qualquer outra porta disponível no servidor. 13

Estrutura do protocolo HTTP Os navegadores (browsers) Para a maioria das pessoas a ferramenta mais comum da Web é o navegador, afinal de contas é a janela do usuário para a Web, que permite visualizar os documentos e acessar os diversos serviços e aplicações disponíveis na Internet. Todos os navegadores surgiram a partir do navegador Mosaic, desenvolvido por Marc Andreessen na NCSA (National Center for Supercomputing Applications, na Universidade de Illinois, Urbana- Champaign). Devido à simplicidade e eficiência do protocolo HTTP é possível fornecer suporte a diversos tipos de clientes independentemente da arquitetura de computador utilizada. A flexibilidade em relação aos tipos de dados a serem enviados ou recebidos também permite fornecer suporte aos vários formatos de recursos (texto, som, imagem, e outros). 14

Transações HTTP Uma transação consiste em: estabelecimento da conexão; requisição (pelo cliente); resposta (pelo servidor); fechamento da conexão. Estrutura das transações HTTP Estrutura do protocolo HTTP Como a maioria dos protocolos de rede, o HTTP utiliza o modelo cliente-servidor: um cliente HTTP abre uma conexão e envia mensagens de requisição para um servidor HTTP; o servidor retorna uma mensagem de resposta, geralmente contendo o recurso que fora requisitado. Após entregar o resultado, o servidor fecha a conexão (o que faz o HTTP ser um protocolo stateless, ou seja, não retém qualquer informação da conexão entre as transações). O formato das mensagens de requisição e resposta são semelhantes; os dois tipos de mensagens consistem em: uma linha inicial; linhas de cabeçalho (podem não existir); uma linha em branco obrigatória (CRLF); e um corpo de mensagem opcional (ou seja, um arquivo, dados de uma consulta ou uma saída de um script). Formato de uma mensagem HTTP: <linha inicial, diferente para a requisição e a resposta> Cabeçalho1: valor1 Cabeçalho2: valor2 Cabeçalho3: valor3 [Linha em branco obrigatória - CRLF] <corpo de mensagem opcional, como o conteúdo de arquivo ou resultado de um script ou consulta, podendo conter diversas linhas> A linha inicial e os cabeçalhos devem terminar com CRLF, embora possa manipular os fins de linha apenas com LF. (CR e LF são equivalentes aos valores ASCII 13 e 10). 15