17
Instituto Superior de Entre Douro e Vouga Tecnologias da Informação e da Comunicação│2011/2012 Tecnologia de Internet Trabalho realizado por: Liliana João Monteiro da Costa

Http (hyper text transfer protocol)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Http (hyper text transfer protocol)

Instituto Superior de Entre Douro e Vouga

Tecnologias da Informação e da Comunicação│2011/2012

Tecnologia de Internet

Trabalho realizado por:

Liliana João Monteiro da Costa

Santa Maria da Feira, 11 Novembro de 2011

Page 2: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

ÍNDICE

1.HTTP (Hyper Text Transfer Protocol) -------------------------------------------------------- 2

1.1. Introdução---------------------------------------------------------------------------- 2

1.2 Funcionamento do Protocolo http-------------------------------------------------- 3

1.3 Protocolo TCP e IPI-------------------------------------------------------------------- 3

1.4 Pedido http------------------------------------------------------------------------------- 4

1.5 Comandos-------------------------------------------------------------------------------- 5

1.6 Rubricas---------------------------------------------------------------------------------- 5

1.7 Resposta http--------------------------------------------------------------------------- 7

1.8 Corpo da Resposta-------------------------------------------------------------------- 8

1.9 Os códigos de resposta--------------------------------------------------------------- 9

2. URL--------------------------------------------------------------------------------------------------- 9

2.1Estrutura de uma URL----------------------------------------------------------------- 10

3.CONCLUSÃO--------------------------------------------------------------------------------------- 11

4.BIBLIOGRAFIA ------------------------------------------------------------------------------------ 12

Liliana Costa 3722 ISVOUGA Página 1 de 12

Page 3: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

2. HTTP (Hyper Text Transfer Protocol)

2.1. Introdução

Um protocolo é um método standard que permite a comunicação entre processos (que

se executam eventualmente em diferentes máquinas), isto é, um conjunto de regras e

procedimentos a respeitar para emitir e receber dados numa rede. Existem vários, de

acordo com o que se espera da comunicação. Certos protocolos, por exemplo, serão

especializados na troca de ficheiros (o FTP), outros poderão servir para gerir

simplesmente o estado da transmissão e os erros (é o caso do protocolo ICMP), …

Na Internet, os protocolos utilizados fazem parte de uma sequência de protocolos, quer

dizer, de um conjunto de protocolos. Esta sequência de protocolos chama-se TCP/IP.

Esta contém, designadamente, os seguintes protocolos:

HTTP FTP ARP ICMP IP TCP UDP SMTP Telnet NNTP

HTTP é a sigla em língua inglesa de HyperText Transfer Protocol (Protocolo de

Transferência de Hipertexto), um protocolo da camada de Aplicação do modelo OSI

utilizado para transferência de dados na rede mundial de computadores, a World Wide

Web.

Normalmente, este protocolo utiliza a porta 80 e é usado para a comunicação de "sites"

(sítios), comunicando na linguagem HTML (Hipertext Markup Language, ou Linguagem

de Marcação de Hipertexto). Contudo, para haver comunicação com o servidor do site

é necessário utilizar comandos adequados, que não estão em linguagem HTML.

Para acedermos a outro documento a partir de uma palavra presente no documento

actual podemos utilizar os chamados links/ (ligações) ou âncoras. Estes documentos

encontram-se num "site" (sítio) com um endereço de página da Internet - e para

entrarmos neles devemos digitar o respectivo endereço, denominado URI (Universal

Resource Indentifier ou Identificador Universal de Recurso), que não deve ser

confundido com URL (Universal Resource Locator ou Localizador Universal de

Recurso), um tipo de URI que pode ser directamente localizado.

Liliana Costa 3722 ISVOUGA Página 2 de 12

Page 4: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

1.2 Funcionamento do Protocolo http

Um sistema de comunicação em rede possui diversos protocolos que trabalham em

conjunto para o fornecimento de serviços. Para que o protocolo HTTP consiga transferir

seus dados pela Web, é necessário que os protocolos TCP e IP (Internet Protocol,

Protocolo de Internet) tornem possível a conexão entre clientes e servidores através de

Socke TCP/IP

1.3 Protocolo TCP e IPI

O modelo TCP/IP - como muitos outros modelos de protocolos - pode ser visto como um grupo

de camadas, em que cada uma resolve um grupo de problemas da transmissão de dados,

fornecendo um serviço bem definido para os protocolos da camada superior. Estas camadas

mais altas estão logicamente mais perto do usuário (camada de aplicação), lidam com dados

mais abstratos e confiam nos protocolos das camadas mais baixas para traduzir dados em num

formato que pode eventualmente se transmitido fisicamente.

A comunicação entre o navegador e o servidor faz-se em dois tempos:

O navegador efectua um pedido HTTP

O servidor trata o pedido e seguidamente envia uma resposta http

Liliana Costa 3722 ISVOUGA Página 3 de 12

Page 5: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

1.4 Pedido HTTP

Um pedido HTTP é um conjunto de linhas enviado ao servidor pelo navegador:

Uma linha de pedido: A linha compreende três elementos que devem ser

separados por um espaço:

o O método

o O URL

o A versão do protocolo utilizado pelo cliente (geralmente HTTP/1.0) ;

Os campos de cabeçalho do pedido: trata-se de um conjunto de linhas

facultativas que permitem dar informações suplementares sobre o pedido e/ou o

cliente (Navegador, sistema de exploração, …). Cada uma destas linhas é

composta por um nome que qualifica o tipo de cabeçalho, seguido de dois

pontos (:) e do valor do cabeçalho;

O corpo do pedido: é um conjunto de linhas opcionais que devem ser

separadas das linhas precedentes por uma linha vazia e permitindo por exemplo

um envio de dados por um comando POST aquando do envio de dados ao

servidor por um formulário.

Um pedido HTTP tem por conseguinte a sintaxe seguinte (<crlf> significa regresso salto

de linha):

METHODE URL VERSION<crlf> EN-TETE: Valeur<crlf> . . . EN-TETE : Valeur<crlf> Ligne vide<crlf> CORPS DE LA REQUETE

Eis então um exemplo de pedido HTTP:

GET http://pt.kioskea.net HTTP/1.0 Accept : text/html If-Modified-Since : Saturday, 15-January-2000 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

Liliana Costa 3722 ISVOUGA Página 4 de 12

Page 6: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

1.5 Comandos:

GET Pedido do recurso situado na URL especificada

HEAD Pedido do cabeçalho do recurso situado na URL especificada

POST Envio de dados ao programa situado na URL especificada

PUT Envio de dados à URL especificada

DELETE Supressão do recurso situado na URL especificada

1.6 Rubricas:

Accept:

Tipo de conteúdo aceite pelo motor de pesquisa (por exemplo text/HTML).

Accept-Charset:

Jogo de caracteres esperado pelo motor de pesquisa

Accept-Encoding

Codificação de dados aceite pelo motor de pesquisa

Accept-Language

Linguagem esperada pelo motor de pesquisa (inglês, por defeito)

Authorization

Identificação do motor de pesquisa junto do servidor

Content-Encoding

Tipo de codificação do corpo do pedido

Liliana Costa 3722 ISVOUGA Página 5 de 12

Page 7: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

Content-Language

Tipo de linguagem do corpo do pedido

Content-Length

Comprimento do corpo do pedido

Content-Type

Tipo de conteúdo do corpo do pedido (por exemplo text/HTML).

Date

Data de início de transferência dos dados

Forwarded

Utilizado pelas máquinas intermédias entre o motor de pesquisa e o servidor

From

Permite especificar o e-mail do cliente

Permite especificar que o documento deve ser enviado se tiver sido alterado a

partir de uma certa data

Link

Relação entre duas URL

Orig-URL

URL de origem do pedido

Referer

URL da ligação a partir da qual o pedido foi efectuado

Liliana Costa 3722 ISVOUGA Página 6 de 12

Page 8: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

User-Agent

Cadeia dando informações sobre o cliente, como o nome e a versão do

navegador, do sistema de exploração

1.7 Resposta HTTP

Uma resposta HTTP é um conjunto de linhas enviadas ao navegador pelo servidor.

Compreende:

Uma linha de estatuto: é uma linha que precisa a versão do protocolo utilizado

e o estado do tratamento do pedido através de um código e de um texto

explicativo. A linha compreende três elementos que devem ser separados por

um espaço:

o A versão do protocolo utilizado

o O código de estatuto

o O significado do código

Os campos de rubrica da resposta: trata-se de um conjunto de linhas

facultativas que permitem dar informações suplementares sobre a resposta e/ou

o servidor. Cada uma destas linhas é composta de um nome que qualifica o tipo

de rubrica, seguido de dois pontos (:) e do valor da rubrica

O corpo da resposta: contem o documento pedido

Uma resposta HTTP tem por conseguinte a sintaxe seguinte (<crlf> significa salto de linha) :

VERSION-HTTP CODE EXPLICATION<crlf> EN-TETE: Valeur<crlf> . . . EN-TETE: Valeur<crlf> Ligne vide<crlf> CORPS DE LA REPONSE

Eis aqui um exemplo de resposta HTTP :

HTTP/1.0 200 OK Date: Sat, 15 Jan 2000 14:37:12 GMT Server: Microsoft-IIS/2.0

Liliana Costa 3722 ISVOUGA Página 7 de 12

Page 9: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

Content-Type: text/HTML Content-Length: 1245 Last-Modified: Fri, 14 Jan 2000 08:25:13 GMT

1.8 Corpo da Resposta

Content-Encoding

Tipo de codificação do corpo da resposta

Content- Language

Comprimento do corpo da resposta

Content-Length

Tipo de conteúdo do corpo da resposta (por exemplo text/HTML)

Date

Data de início de transferência dos dados

Expires

Data limite de consumo dos dados

Forwarded

Utilizado pelas máquinas intermédias entre o motor de pesquisa e o servidor

Location

Redireccionamento para uma nova URL associada ao documento

Server

Características do servidor que envia a resposta

Liliana Costa 3722 ISVOUGA Página 8 de 12

Page 10: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

1.9 Os códigos de resposta

São os códigos que vêem quando o navegador não lhe consegue mostrar a página

pedida. O código de resposta é constituído por três algarismos: o primeiro indica a

classe de estatuto e seguintes a natureza exacta do erro.

2. URL

Uma URL (Uniform Resource Locator) é um formato de designação universal para

designar um recurso na Internet. Trata-se de uma cadeia de caracteres ASCII que se

decompõe em cinco partes:

O nome do protocolo: quer dizer, em certa medida, a linguagem utilizada para

comunicar na rede. O protocolo mais utilizado é o protocolo HTTP (HyperText

Transfer Protocol), o protocolo que permite trocar páginas Web em formato

HTML. Contudo, numerosos protocolos são utilizáveis (FTP, News, Mailto,

Gopher, …)

Identificador e palavra - passe: permite especificar os parâmetros de acesso a

um servidor protegido. Esta opção é desaconselhada porque a palavra - passe é

visível na URL

O nome do servidor : Trata-se de um nome de domínio do computador que

aloja o recurso pedido. Repare que é possível utilizar o endereço IP do servidor,

que torna em contrapartida a URL menos legível.

O número de porta: trata-se de um número associado a um serviço que permite

ao servidor saber que tipo de recurso é pedido. A porta associada por defeito ao

protocolo é a porta número 80. Assim, quando o serviço Web do servidor é

associado ao número de porta 80, o número de porta é facultativo

O caminho de acesso ao recurso: Esta última parte permite ao servidor

conhecer o lugar onde o recurso está situado, ou seja, o lugar (directório) e o

nome do ficheiro pedido

Liliana Costa 3722 ISVOUGA Página 9 de 12

Page 11: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

Protocolo palavra-passe (facultativa

Nome do servidorPorta

(facultativa se 80)

Caminho

[http://] user:password@ pt.kioskea.net :80/glossair/

glossair.php3

2.1 Estrutura de uma URL:

Liliana Costa 3722 ISVOUGA Página 10 de 12

Page 12: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

3. CONCLUSÃO

O Protocolo HTTP tem uma característica que é fundamental para o entendimento de

quem analisa a segurança em aplicações WEB, é o facto de ele ser stateless, isto

significa que ele não mantém uma conexão, ele sempre se conecta, envia uma

mensagem, recebe uma resposta e desconecta. Por este motivo são utilizados

recursos extras como cookies e/ou sessões para garantira persistência dos dados e

informações que são disponibilizadas em aplicações. Quando estamos a falar de

aplicações WEB geralmente estamos a fazer referência à URL (Uniform Resource

Locators) como http://www.isvouga.pt, tecnicamente a URL serve apenas para fazer

referência a um determinado domínio, quando precisamos aceder a recursos WEB via

browser utilizamos a URI (Uniform Resource Identifiers). Para conseguir-mos identificar

e explorar determinados recursos de uma aplicação é essencial que se entenda

exactamente o que cada parte de uma URI representa. Em suma o http é o protocolo

aplicacional de comunicação entre clientes e servidores na Web, que utiliza

normalmente a pilha de protocolos TCP/IP para garantir um canal de comunicação

fiável. Tem vários métodos, sendo os mais utilizados os GET e POST. Estes dois

métodos permitem enviar informação nos dois sentidos, entre cliente e servidor Web

Liliana Costa 3722 ISVOUGA Página 11 de 12

Page 13: Http (hyper text transfer protocol)

2- Tecnologias de Internet HTTP

4.BIBLIOGRAFIA

http://pt.kioskea.net/contents/internet/http.php3

http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol

http://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_

%C3%A0s_Redes_de_Computadores/WWW_e_HTTP

http://www.oficinadanet.com.br/artigo/459/o_protocolo_http

Liliana Costa 3722 ISVOUGA Página 12 de 12