A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 1 Introdução.

Apresentações semelhantes


Apresentação em tema: "FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 1 Introdução."— Transcrição da apresentação:

1 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 1 Introdução Protocolo orientado à mensagem (paradigma Pedido/Resposta) Utiliza o protocolo TCP Porto 80 (por omissão) Principal Protocolo utilizado na WEB Prevê o uso de Proxys HTTP 0.9 HTTP 1.0 (http://www.fe.up.pt/~jvv/net/rfc1945.txt) HTTP 1.1 (http://www.fe.up.pt/~jvv/net/rfc2068.txt)

2 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 2 HTTP 0.9 Formato das Mensagens HTTP-message = Simple-Request | Simple-Response Pedidos Simple-Request = GET SP Request-URI CRLF Request-URI = absoluteURI | abs_path absoluteURI = scheme ":" *( uchar | reserved ) abs_path = "/" rel_path Respostas Simple-Response = [Entity-Body] Entity-Body = *OCTET Exemplo Establecimento da ligação ao servidor Telnet alf.fe.up.pt 80 Pedido GET /lixo.tmp Resposta 404 File Not Found File Not Found The requested URL /lixo.tmp was not found on this server. Nota: O formato Absolute-URI só é usado com proxys

3 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 3 HTTP 1.0 Formato das Mensagens HTTP-message = Simple-Request | Simple-Response | Full-Request | Full -Response Pedidos Full-Request = Request-Line *( General-Header | Request-Header | Entity-Header ) CRLF [ Entity-Body ] Request-Line = Method SP Request-URI SP HTTP-Version CRLF Method= "GET | "HEAD | "POST | extension-method Respostas Full-Response = Status-Line *( General-Header | Response-Header | Entity-Header ) CRLF [ Entity-Body ] Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF Status-Code= "200" ; OK | "400" ; Bad Request | "404" ; Not Found

4 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 4 HTTP 1.0 Exemplo 1 (acesso directo) Establecimento da ligação directa ao servidor Telnet 80 Pedido GET /index.html HTTP/1.0 Resposta HTTP/ Document follows Date: Fri, 03 Apr :13:48 GMT Server: NCSA/1.5 Content-type: text/html …

5 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 5 HTTP 1.0 Exemplo 2 (acesso via proxy) Establecimento da ligação ao proxy Telnet alf.fe.up.pt 8080 Pedido GET HTTP/1.0 Resposta HTTP/ Document follows Date: Fri, 03 Apr :34:07 GMT Server: NCSA/1.5 Content-type: text/html …

6 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 6 HTTP 1.1 Formato das Mensagens HTTP-message = Request | Response Pedidos Request = Request-Line *( General-Header | Request-Header | Entity-Header ) CRLF [ message-body ] Request-Line = Method SP Request-URI SP HTTP-Version CRLF Method= "GET | OPTIONS | TRACE | "HEAD | DELETE | PUT | "POST | extension-method Request-URI = * | absoluteURI | abs_path Respostas Response = Status-Line *( General-Header | Response-Header | Entity-Header ) CRLF [ Entity-Body ]

7 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 7 HTTP 1.1 Alguns Headers Host Request-Header (obrigatório) Especifica o Host e o Porto Sintaxe: Host : host [: port] Exemplo: Host: Content-Length Entity-Header Indica em decimal o tamanho em bytes do Entity-body Sintaxe: Content-Length = "Content-Length" ":" 1*DIGIT Exemplo: Content-Length: 1024 Content-type Entity-Header Define os tipo de mensagem Sintaxe: Content-Type = "Content-Type" ":" media-type Exemplo: Content-Type: image/gif If-Modified-Since Request-Header Usado com o método GET O documento só é transferido se tiver sido alterado depois da data especificada Em caso negativo é retornado o código 304 (not modified) Sintaxe: If-Modified-Since = "If-Modified-Since" ":" HTTP-date Exemplo: If-Modified-Since: Sat, 29 Oct :43:31 GMT

8 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 8 HTTP 1.1 Alguns Headers (cont…) Location Response-Header Usado para redirecionar os clientes para a nova localização do documento Sintaxe: Location = "Location" ":" absoluteURI Exemplo: Location: Exemplos Exemplo 1 (Header Host) Establecimento da ligação Telnet 80 Pedido GET / HTTP/1.1 Host: Resposta HTTP/ OK Date: Thu, 23 Apr :49:52 GMT Server: Apache/1.2.1 Last-Modified: Sun, 29 Mar :04:41 GMT ETag: " e8d39" Content-Length: 2450 Accept-Ranges: bytes Content-Type: text/html ….

9 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 9 HTTP 1.1 Exemplos (cont…) Exemplo 2 (Método OPTIONS) Establecimento da ligação Telnet 80 Pedido OPTIONS * HTTP/1.1 Host:www.fe.up.pt Resposta HTTP/ OK Date: Thu, 23 Apr :28:26 GMT Server: Apache/1.2.1 Content-Length: 0 Allow: GET, HEAD, OPTIONS, TRACE

10 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 10 HTTP 1.1 Exemplos (cont…) Exemplo 3 (Método TRACE) Establecimento da ligação Telnet alf.fe.up.pt 8080 Pedido TRACE HTTP/1.1 Host: Resposta HTTP/ OK Date: Thu, 23 Apr :56:11 GMT Server: Apache/1.2.3 Connection: close Content-Type: message/http TRACE / HTTP/1.0 Host: Cache-control: Max-age= Via: 1.1 (Squid/1.1.8), 1.0 (Squid/1.1.10), 1.0 proxy.porto.rccn.net:3128 (Squid/1.1.10) X-Forwarded-For: , ,

11 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 11 HTTP 1.1 Exemplos (cont…) Exemplo 4 (Header If-Modified-Since) Establecimento da ligação Telnet 80 Pedido GET / HTTP/1.1 Host: If-Modified-Since: Sun, 29 Mar :00:00 GMT Resposta HTTP/ OK Date: Thu, 23 Apr :55:21 GMT Server: Apache/1.2.1 Last-Modified: Sun, 29 Mar :04:41 GMT ETag: " e8d39" Content-Length: 2450 Accept-Ranges: bytes Content-Type: text/html ….

12 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 12 HTTP 1.1 Exemplos (cont…) Exemplo 5 (Header If-Modified-Since) Establecimento da ligação Telnet 80 Pedido GET / HTTP/1.1 Host: If-Modified-Since: Sun, 29 Mar :00:00 GMT Resposta HTTP/ Not Modified Date: Thu, 23 Apr :59:33 GMT Server: Apache/1.2.1 ETag: " e8d39"

13 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 13 HTTP 1.1 Exemplos (cont…) Exemplo 6 (Header Location) Establecimento da ligação Telnet 80 Pedido GET / HTTP/1.1 Host:www.virgilio.it Resposta HTTP/ Moved Temporarily Server: Netscape-Enterprise/3.0F Date: Thu, 23 Apr :51:29 GMT Location: Connection: close

14 FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 14 Exemplo 7 (pipelinig) Establecimento da ligação Telnet 80 Pedido GET / HTTP/1.1 Host: GET /feupwww/img/back2.jpg HTTP/1.1 Host: Resposta HTTP/ OK Date: Thu, 23 Apr :10:56 GMT Server: Apache/1.2.1 Last-Modified: Sun, 29 Mar :04:41 GMT ETag: " e8d39" Content-Length: 2450 Accept-Ranges: bytes Content-Type: text/html … HTTP/ OK Date: Thu, 23 Apr :10:56 GMT Server: Apache/1.2.1 Last-Modified: Mon, 25 Nov :29:04 GMT ETag: "5a09a-68b-3299d760" Content-Length: 1675 Accept-Ranges: bytes Content-Type: image/jpeg JFIF··4Photoshop 3.08BIMí¶áH¶áH8BIM8BIM'


Carregar ppt "FEUPDEECRedes de Computadores/ Comunicação de Dados, 4º Ano de EEC HTTP (HyperText Transfer Protocol) Abril, 98Isidro Vila Verde 1 Introdução."

Apresentações semelhantes


Anúncios Google