SlideShare une entreprise Scribd logo
1  sur  13
Instituto Superior de Entre Douro e Vouga

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

               Tecnologias de Internet




                            Trabalho realizado por:
                         Sérgio Paulo Lopes da Rocha


                   Santa Maria da Feira, 12 Novembro de 2010
TP 2 - Trabalho Prático                                                                                                  HTTP




                                                            Í NDICE

1. HTTP (Hyper Text Transfer Protocol).................................................................... 3
   1.1      Introdução ..................................................................................................... 3
   1.2      Estrutura........................................................................................................ 3
   1.3      Versões ......................................................................................................... 4
2. Arquitectura TCP/IP............................................................................................... 5
   2.1      Camada de aplicação ................................................................................... 5
   2.2      Camada de transporte .................................................................................. 5
   2.3      Camada da internet (Rede)........................................................................... 6
   2.4      Camada de interface de rede........................................................................ 6
3. PROTOCOLOS DA ARQUITETURA TCP/IP ........................................................ 7
   3.1      O PROTOCOLO HTTP ................................................................................. 7
       3.1.1       Métodos ................................................................................................ 7
   3.2      O Protocolo TCP ........................................................................................... 8
   3.3      O Protocolo IP............................................................................................. 10
4. Conclusão............................................................................................................ 12
5. Bibliografia........................................................................................................... 13




 Sérgio Rocha - 2104                                          ISVOUGA                                           Página 2 de 13
TP 2 - Trabalho Prático                                                          HTTP




1. HTTP (HYPER TEXT TRANSFER PROTOCOL)

1.1 INTRODUÇÃO

O HTTP (Hyper Text Transfer Protocol) é o protocolo responsável pelo funcionamento
da World Wide Web. Torna possível a visualização dos documentos hipermídias, com
textos, gráficos, som, imagem e outros recursos disponíveis na Web. Apesar da
aparente complexidade desta, o protocolo HTTP é relativamente simples. As
especificações do protocolo HTTP são úteis para todos que trabalham activamente na
criação de sites Web, manutenção de servidores Web, ou com desenvolvimento de
programas-clientes e servidores que venham a interagir com a Web.
Tim Berners-Lee, físico inglês, começou em 1989, em Genebra, na Suíça, o
desenvolvimento e implementação do protocolo HTTP, mais precisamente no
European Center For High-Energy Physics.
O protocolo surgiu devido à necessidade de troca de informações entre pesquisadores,
e funcionaria com ligações, i.e., a partir de um documento poderia aceder a um link
para outro documento de outro computador da rede. Provavelmente Tim nem
imaginaria que o HTTP se viesse a transformar no principal protocolo de rede da Web
actualmente.

1.2 ESTRUTURA

A estrutura das transacções http, são da seguinte forma:
   • Uma linha inicial;
   • Linhas de cabeçalho (podem não existir);
   • Uma linha em branco obrigatória (CRLF);
   • Um corpo de mensagem opcional (dados consultados).


- Quem não tentou aceder a algum recurso na Internet e recebeu a mensagem: "404
Not Found" ?
Esta mensagem indica um erro por parte do cliente, que tentou aceder a um recurso
inexistente e faz parte da linha de status, ou linha inicial de resposta que consiste em
três partes separadas por espaços: Versão do Protocolo, Código de Status da
Resposta, Frase que descreve o código do status. Exemplo: HTTP/1.1 200 OK


 Sérgio Rocha - 2104                      ISVOUGA                          Página 3 de 13
TP 2 - Trabalho Prático                                                         HTTP



O primeiro dígito do código de status indica a categoria da resposta, como se segue:
   • 1xx Mensagem de Informação;
   • 2xx Operação de algum tipo bem sucedida;
   • 3xx Redireciona o cliente para outra URL;
   • 4xx Erro por parte do cliente;
   • 5xx Erro por parte do Servidor;


Dois cabeçalhos bastante importantes do protocolo HTTP são os User-Agent e o
Server. Estes cabeçalhos guardam informações sobre o browser (programa que solicita
os recursos) e sobre o servidor que guarda os recursos. O formato destes cabeçalhos é
"Programa/Versão".
Ao navegar com um browser Netscape, o cabeçalho User-Agent conterá algo como:
"Mozilla/4.51[pt] (Win98)".
Deve ser dada atenção especial para este cabeçalho pois guarda informações de
privacidade dos usuários.
O cabeçalho Server é muito utilizado por Hackers pois mostra o programa que está
instalado no Servidor. Um exemplo do cabeçalho é: "Server: Apache/1.3.19(UNIX)".
Para visualizar o cabeçalho Server basta utilizar o método HEAD do protocolo HTTP.
As linguagens de programação atuais trazem implementações bastante completas para
a utilização do protocolo HTTP inclusive com exemplos de uso não só do método
HEAD mas também dos outros métodos existentes.

1.3 VERSÕES

   • A HTTP/0.9 (Criado em 1991)
   • HTTP/1.0 (Criado em 1996)
   • HTTP/1.1 (Criado em 1999)




 Sérgio Rocha - 2104                     ISVOUGA                          Página 4 de 13
TP 2 - Trabalho Prático                                                          HTTP




2. ARQUITECTURA TCP/IP

TCP/IP é um conjunto de protocolos usados em redes de computadores. TCP e IP são
dois protocolos dessa família e por serem os mais conhecidos, tornou-se comum usar o
termo TCP/IP para se referir à família inteira. É também usual falar em “suíte TCP/IP”
para designar um pacote contendo o protocolo TCP/IP e alguns utilitários auxiliares.
O desenvolvimento da arquitectura TCP/IP começou com o Departamento Americano
de Defesa, no final da década de 60, que resolveu criar um software de comunicação
entre computadores de forma que fosse possível a comunicação remota ou local, entre
sistemas operacionais, iguais ou diferentes, utilizando ou não o mesmo tipo de
hardware. O protocolo permitiu que, no começo da década de 70, os computadores
pudessem comunicar-se remotamente, sendo de suma importância em navios de
guerra ou entre porta-aviões.
Para que isto fosse possível, foi necessário criar um sistema de comunicação onde a
rede como um todo fosse dividida em “pequenas” redes independentes, passando a
usar como padrão de interconexão o TCP/IP.
A comutação por pacote (packet-switching), é a base da sua tecnologia de
comunicação e utiliza o pacote (datagram) como unidade de transmissão de dados.
Cada host conectado à rede possui um endereço único, possibilitando que a máquina
emitente reconheça a máquina receptora.
Os diversos tipos de protocolo disponíveis no TCP/IP trabalham em conjunto para que
a comunicação possa ser efectuada. São organizados num modelo de 4 camadas:
Aplicação, Transporte e Rede.

2.1 CAMADA DE APLICAÇÃO

Esta camada permite que as aplicações tenham acesso às camadas inferiores através
de portas TCP e UDP e define os protocolos utilizados por essas aplicações para envio
e recepção de dados. Como exemplo temos os protocolos de HTTP e SMTP.

2.2 CAMADA DE TRANSPORTE

Os protocolos desta camada coordenam o envio de mensagens de um computador a
outro, podendo ou não implementar algum mecanismo de controle para garantir a



 Sérgio Rocha - 2104                      ISVOUGA                          Página 5 de 13
TP 2 - Trabalho Prático                                                       HTTP



entrega das mensagens. Esses protocolos recebem pacotes da camada de aplicação e
dividem-nos em segmentos, que são passados para a camada de rede.

2.3 CAMADA DA INTERNET (REDE)

Esta camada define o mecanismo utilizado para que o computador de origem localize o
computador de destino, definindo a rota que as mensagens deverão percorrer. Os
protocolos da camada de rede recebem datagramas da camada de transporte e
analisam-nos para definir a rota que será utilizada;

2.4 CAMADA DE INTERFACE DE REDE

É responsável por encapsular os pacotes da camada da internet no formato específico
da rede associada, e extrair os pacotes dos quadros vindos da rede e encaminhá-los à
camada da internet.




 Sérgio Rocha - 2104                       ISVOUGA                      Página 6 de 13
TP 2 - Trabalho Prático                                                         HTTP




3. PROTOCOLOS DA ARQUITETURA TCP/IP

3.1 O PROTOCOLO HTTP

É um protocolo do nível de aplicação que possui objectividade e rapidez necessárias
para suportar sistemas de informação distribuídos, cooperativos e de hipermídia. As
suas principais características são:
   • Propicia busca de informação e actualização;
   • As mensagens são enviadas num formato similar aos utilizados pelo correio
      electrónico da internet e pelo MIME;
   • Comunicação entre os agentes usuários e gateways, permitindo acesso a
      hipermídia e a diversos protocolos do mundo internet;
   • Obedece ao paradigma de cliente/servidor: um cliente estabelece uma conexão
      com um servidor e envia um pedido ao servidor, o qual o analisa e responde. A
      conexão deve ser estabelecida antes de cada pedido de cliente e encerrada após
      a resposta.
As mensagens seguem o formato da RFC 822 (RFC 822, 2003) e apresentam-se na
forma de:
   • Pedidos enviados pelo cliente ao servidor;
   • Respostas enviadas pelo servidor para o cliente.

      3.1.1 MÉTODOS

Método indica a forma a ser aplicada para requisitar um recurso. Os métodos aceites
por um determinado recurso podem mudar dinamicamente.
Os principais métodos são:
   • GET: recupera todas as informações identificadas no recurso da rede. Se o
        recurso for um processo executável, ele retornará a resposta do processo e não
        o seu texto. Existe o GET condicional que traz o recurso apenas se o mesmo foi
        alterado depois da data da última transferência;
   • HEAD: semelhante ao método GET, só que neste caso não há a transferência da
        entidade para o cliente. Este método é utilizado para testar a validade e
        acessibilidade dos links de hipertexto;



 Sérgio Rocha - 2104                         ISVOUGA                      Página 7 de 13
TP 2 - Trabalho Prático                                                          HTTP




   • POST: utilizado para solicitar que o servidor destino aceite a entidade constante
       no pedido como um novo subordinado ao recurso constante no URI. As suas
       principais funções são:
       −   anotações de recursos existentes;
       −   Colocar uma mensagem num bulletin board, newsgroup, mailing list;
       −   Abastecer um processo com um bloco de dados;
       −   Estender uma base de dados com uma operação de append.
       A entidade é subordinada da mesma forma que um arquivo é subordinado ao
       directório ou um registo na base de dados;
   • PUT: coloca a entidade abaixo do recurso especificado no pedido. Se esta
       entidade não existe é criada. Se existe, apenas é actualizada;
   • DELETE: solicita que o servidor origem apague o recurso identificado no URI;
   • LINK: estabelece uma ou mais relações de links entre o recurso identificado pelo
       URI e outros recursos existentes, não permitindo que o corpo da entidade
       enviada seja subordinada ao recurso;
   • UNLINK: remove uma ou mais relações de links existentes entre o recurso
       identificado no URI;

3.2 O PROTOCOLO TCP

O TCP verifica a existência de erros em cada pacote que recebe para evitar a
corrupção dos dados. A estrutura do TCP possui os seguintes campos principais:
   • Porta de origem: uma porta define o aplicativo na camada mais acima que
       transmitiu e que deverá receber os dados na outra ponta. Neste campo, é
       especificada a porta de origem;
   • Porta de destino: a porta (aplicativo) de destino;
   • Número de sequência: define o número de sequência do pacote TCP. Ele serve
       para evitar que ocorra a corrupção dos dados se um pacote chegar ao destino
       antes de outro, ou para detectar algum pacote que porventura se perdeu no
       caminho entre a origem e o destino;




Sérgio Rocha - 2104                        ISVOUGA                       Página 8 de 13
TP 2 - Trabalho Prático                                                         HTTP




   • Número de confirmação: este número é enviado pela estação de destino para a
       estação de origem, para confirmar o recebimento de pacote(s) recebido(s)
       anteriormente;
   • Offset dos dados: indica o tamanho do cabeçalho TCP, em blocos de 32 bits;
   • Reservado: um campo reservado para uso futuro, sempre planeando previamente
       as melhorias ao protocolo;
   • Bits de controle: são os seguintes:
       −   URG (urgente): envia uma mensagem ao destino de que dados urgentes
             estão esperando para serem enviados a ele;
       −   ACK (confirmação): confirma o recebimento de um ou mais datagramas
             enviados anteriormente;
       −   PSH (push): faz com que o TCP imediatamente envie os dados pendentes;
       −   RST (reset): reinicia a comunicação entre os hosts;
       −   SYN: usado na inicialização e para estabelecer um número de sequência;
       −   FIN: mais nenhum dado está vindo da estação de origem;
   • Janela: o número de octetos de dados que começam com o valor indicado no
       campo Acknowledgement que o remetente do segmento de dados está
       querendo aceitar. Este é o método de controle de fluxo do TCP e se o receptor
       quiser que a estação de origem pare de enviar dados, ele configurará este
       campo como zero;
   • Soma de verificação: simplesmente um método de detecção de erros;
   • Ponteiro urgente: aponta para o número de sequência do byte após os dados
       urgentes, interpretado apenas quando URG é definido.


O TCP é um protocolo orientado à conexão porque os dois computadores participantes
da transmissão de dados sabem da existência um do outro. Esta conexão virtual entre
eles é chamada de sessão.
É também um protocolo complexo que promove a comunicação através de uma grande
variedade de tecnologias de rede. A generalidade do TCP não parece interferir no seu
desempenho.



Sérgio Rocha - 2104                        ISVOUGA                       Página 9 de 13
TP 2 - Trabalho Prático                                                            HTTP



  3.3 O PROTOCOLO IP

O IP é responsável por endereçar e entregar os dados em uma comunicação de rede
TCP/IP. Tenta entregar os dados, mas não garante que eles sejam entregues, que eles
sejam entregues livres de erros ou que sejam entregues na mesma ordem pois isto é
função de um protocolo da camada superior, como o TCP.
O IP não estabelece uma sessão (link virtual) entre o computador de origem e o de
destino, e também é responsável por pegar nos dados da camada de interface de rede
e apresentá-los ao protocolo da camada acima que os solicitou.
Quando os dados chegam vindos da camada superior, adiciona as suas informações
de controle e um cabeçalho aos dados. A partir daí, aquele bloco de dados é chamado
de datagrama.
O datagrama, ao receber as informações de cabeçalho da camada de interface de rede
(como o protocolo Ethernet) é chamado de pacote.
O cabeçalho do IP tem vários campos:
   • Versão: este campo define a versão do protocolo IP utilizada;
   • Comprimento do cabeçalho: este campo define o tamanho, em blocos de 32 bits,
     do cabeçalho do IP;
   • Tipo de serviço: este campo contém quatro subcampos. O primeiro é o campo de
     precedência, que permite configurar a prioridade com que estes dados devem ser
     enviados na rede. Ele ocupa três bits, e por isso, seus valores variam de 0 a 7. Os
     outros três campos são bits únicos e, teoricamente, deveriam controlar como o
     datagrama deve ser roteado na rede: são os bits de baixo Retardo (Delay),
     Rendimento (Troughput) e Confiabilidade (Reliability);
   • Comprimento total: tamanho total do datagrama medido em bytes. Como este
     campo é composto por 16 bits, o tamanho máximo de um datagrama IP é de
     65535 bytes;
   • Identificação: este campo tem a ver com a fragmentação de datagramas IP.
     Identifica quais fragmentos pertencem a qual datagrama, para que o destino não
     se confunda na hora de remontá-lo;
   • Sinalizadores: indicam, numa fragmentação de datagramas, se mais fragmentos
     chegarão ou se não serão enviados mais dados pertencentes ao datagrama


Sérgio Rocha - 2104                       ISVOUGA                         Página 10 de 13
TP 2 - Trabalho Prático                                                           HTTP



     identificado no campo acima. Também indicam se um datagrama pode ou não ser
     fragmentado. Caso o bit de não fragmentação for definido, o router que receber o
     datagrama e precisar fragmentá-lo para seguir adiante simplesmente descartará
     aquele datagrama e enviará uma mensagem de erro ao computador de origem;
   • Offset do fragmento: indica que parte do datagrama à estação de destino deve
     continuar a remontá-lo para determinado fragmento;
   • Tempo de vida: define o tempo máximo que um datagrama pode circular na rede
     antes de ser descartado. Cada vez que o datagrama passa por um router, este
     campo é diminuído. Foi criado para que um pacote não fique eternamente a
     circular na rede.
   • Protocolo: neste campo o protocolo da camada superior para o qual os dados
     devem ser repassados;
   • Soma de verificação: aqui está contida uma CRC do cabeçalho IP com o objectivo
     de evitar erros na transmissão. O CRC é um número que é calculado pelo
     computador de origem com base no conteúdo do cabeçalho. Quando a estação
     de destino receber o datagrama, ela calculará a sua CRC com base nos dados de
     cabeçalho que foram recebidos e caso os valores sejam diferentes dos contidos
     no campo soma de verificação, um erro na transmissão ocorreu e o datagrama
     será descartado. Note que este campo é recalculado cada vez que o datagrama
     passa por um router, pois este altera o campo TTL do cabeçalho;
   • Opções do IP: pode ou não estar presente (pouco utilizado actualmente).
     Especifica diversas opções do datagrama IP, como a que permite que os pontos
     por onde o datagrama passa sejam "ecoados" para o computador de origem e a
     que configura uma rota restrita, limitando a liberdade dos routers de encaminhar o
     datagrama.


O endereçamento lógico no TCP/IP é definido pelo protocolo IP, que determina que
cada computador da rede deve ter um endereço IP único na rede, composto de 32 bits.
Esse endereço define a rede à qual o computador pertence e identifica-o nessa rede.
Essas informações permitem ao protocolo IP implementar o mecanismo de
routeamento das redes TCP/IP.



Sérgio Rocha - 2104                      ISVOUGA                         Página 11 de 13
TP 2 - Trabalho Prático                                                          HTTP




4. 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 garantir
a 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, técnicamente 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.




Sérgio Rocha - 2104                      ISVOUGA                        Página 12 de 13
TP 2 - Trabalho Prático                                                                 HTTP




5. BIBLIOGRAFIA

      • http://www.linuxmall.com.br/produto/pocket-http-guia-de-consulta-rapida.html
      • http://pt.wikipedia.org/wiki/Http




Sérgio Rocha - 2104                          ISVOUGA                           Página 13 de 13

Contenu connexe

Tendances

Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolos
Dayane Sousa
 
Sessão do Modelo OSI-Camada 5
Sessão do Modelo OSI-Camada 5Sessão do Modelo OSI-Camada 5
Sessão do Modelo OSI-Camada 5
Hélder Batista
 
[Antero Jesus] Principais Protocolos de Rede
[Antero Jesus] Principais Protocolos de Rede[Antero Jesus] Principais Protocolos de Rede
[Antero Jesus] Principais Protocolos de Rede
ajtr98
 

Tendances (18)

Aula2 protocolos
Aula2 protocolosAula2 protocolos
Aula2 protocolos
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Aula1 protocolos
Aula1 protocolosAula1 protocolos
Aula1 protocolos
 
Infra de provedores de serviço com software livre
Infra de provedores de serviço com software livreInfra de provedores de serviço com software livre
Infra de provedores de serviço com software livre
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Redes de Computadores
Redes de Computadores Redes de Computadores
Redes de Computadores
 
Conceito Básico sobre protocolos de rede
Conceito Básico sobre protocolos de redeConceito Básico sobre protocolos de rede
Conceito Básico sobre protocolos de rede
 
Trabalho camada de transporte
Trabalho camada de transporteTrabalho camada de transporte
Trabalho camada de transporte
 
Serviços e protocolos
Serviços e protocolosServiços e protocolos
Serviços e protocolos
 
Protocolo UDP
Protocolo UDPProtocolo UDP
Protocolo UDP
 
Aula1 protocolos
Aula1 protocolosAula1 protocolos
Aula1 protocolos
 
Trabalho de informatica slide
Trabalho de informatica slideTrabalho de informatica slide
Trabalho de informatica slide
 
Apresentação INTERNET
Apresentação INTERNETApresentação INTERNET
Apresentação INTERNET
 
Sessão do Modelo OSI-Camada 5
Sessão do Modelo OSI-Camada 5Sessão do Modelo OSI-Camada 5
Sessão do Modelo OSI-Camada 5
 
Trabalho Servidor FTP
Trabalho Servidor FTPTrabalho Servidor FTP
Trabalho Servidor FTP
 
Rede mundial de computadores
Rede mundial de computadoresRede mundial de computadores
Rede mundial de computadores
 
[Antero Jesus] Principais Protocolos de Rede
[Antero Jesus] Principais Protocolos de Rede[Antero Jesus] Principais Protocolos de Rede
[Antero Jesus] Principais Protocolos de Rede
 

En vedette (6)

RC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de AplicacaoRC - SL02 - Camada de Aplicacao
RC - SL02 - Camada de Aplicacao
 
Camada 7 do modelo OSI
Camada 7 do modelo OSICamada 7 do modelo OSI
Camada 7 do modelo OSI
 
Modelo OSI - Camada 6
Modelo OSI - Camada 6Modelo OSI - Camada 6
Modelo OSI - Camada 6
 
Camada De Aplicação
Camada De AplicaçãoCamada De Aplicação
Camada De Aplicação
 
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAP
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAPCorreio Eletrônico e os  protocolos SMTP, POP3 e IMAP
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAP
 
Como redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escritoComo redigir a introdução e a conclusão de um trabalho escrito
Como redigir a introdução e a conclusão de um trabalho escrito
 

Similaire à http

Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
Liliana Costa
 
1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes
manustm
 
Capítulo 3 funcionalidades e protocolos da camada de aplicação
Capítulo 3   funcionalidades e protocolos da camada de aplicaçãoCapítulo 3   funcionalidades e protocolos da camada de aplicação
Capítulo 3 funcionalidades e protocolos da camada de aplicação
Simba Samuel
 

Similaire à http (20)

Tcp
TcpTcp
Tcp
 
Tcp
TcpTcp
Tcp
 
Conceito básico sobre Protocolos de Rede
Conceito básico sobre Protocolos de RedeConceito básico sobre Protocolos de Rede
Conceito básico sobre Protocolos de Rede
 
Internet
InternetInternet
Internet
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
 
Aula 1
Aula 1Aula 1
Aula 1
 
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
 
Internet
InternetInternet
Internet
 
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
Aula 02 á 03 introdução. as tecnologias da informação e internet (2ª parte).
 
Artigo Wireshark
Artigo WiresharkArtigo Wireshark
Artigo Wireshark
 
Internet
InternetInternet
Internet
 
1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes1º Artigo De GerêNcia De Redes
1º Artigo De GerêNcia De Redes
 
Redes - TCP/IP
Redes - TCP/IPRedes - TCP/IP
Redes - TCP/IP
 
Aula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicaçãoAula01 - protocolos da camada de aplicação
Aula01 - protocolos da camada de aplicação
 
Capítulo 3 funcionalidades e protocolos da camada de aplicação
Capítulo 3   funcionalidades e protocolos da camada de aplicaçãoCapítulo 3   funcionalidades e protocolos da camada de aplicação
Capítulo 3 funcionalidades e protocolos da camada de aplicação
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
Artigo Redes Jonnes
Artigo Redes JonnesArtigo Redes Jonnes
Artigo Redes Jonnes
 
GLOSSÁRIO - INTERNET
GLOSSÁRIO - INTERNETGLOSSÁRIO - INTERNET
GLOSSÁRIO - INTERNET
 
Principais protocolos de rede
Principais protocolos de redePrincipais protocolos de rede
Principais protocolos de rede
 
Tcp
TcpTcp
Tcp
 

Plus de Sérgio Rocha

Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)
Sérgio Rocha
 
Trabalho prático de pneumática
Trabalho prático de pneumáticaTrabalho prático de pneumática
Trabalho prático de pneumática
Sérgio Rocha
 
Trabalho de convecção natural
Trabalho de convecção naturalTrabalho de convecção natural
Trabalho de convecção natural
Sérgio Rocha
 
Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)
Sérgio Rocha
 
Reflexão sobre pr np4428
Reflexão sobre pr np4428Reflexão sobre pr np4428
Reflexão sobre pr np4428
Sérgio Rocha
 
ética e deontologia profissional
ética e deontologia profissionalética e deontologia profissional
ética e deontologia profissional
Sérgio Rocha
 
Energia fotovoltaica
Energia fotovoltaicaEnergia fotovoltaica
Energia fotovoltaica
Sérgio Rocha
 
Dimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiçoDimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiço
Sérgio Rocha
 
Projecto de uma estrutura metálica (apresentação)
Projecto de uma estrutura metálica  (apresentação)Projecto de uma estrutura metálica  (apresentação)
Projecto de uma estrutura metálica (apresentação)
Sérgio Rocha
 
Leis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidosLeis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidos
Sérgio Rocha
 
ética e deontologia profissional (apresentação)
ética e deontologia profissional  (apresentação)ética e deontologia profissional  (apresentação)
ética e deontologia profissional (apresentação)
Sérgio Rocha
 
Controlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldaduraControlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldadura
Sérgio Rocha
 

Plus de Sérgio Rocha (20)

World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
Web services
Web servicesWeb services
Web services
 
Versões do windows
Versões do windowsVersões do windows
Versões do windows
 
HTML
HTMLHTML
HTML
 
XML
XMLXML
XML
 
Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)Criminalidade informatica (sabotagem)
Criminalidade informatica (sabotagem)
 
Trabalho prático de pneumática
Trabalho prático de pneumáticaTrabalho prático de pneumática
Trabalho prático de pneumática
 
Trabalho de convecção natural
Trabalho de convecção naturalTrabalho de convecção natural
Trabalho de convecção natural
 
Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)Trabalho de climatização (cálculo de caudais)
Trabalho de climatização (cálculo de caudais)
 
Reflexão sobre pr np4428
Reflexão sobre pr np4428Reflexão sobre pr np4428
Reflexão sobre pr np4428
 
ética e deontologia profissional
ética e deontologia profissionalética e deontologia profissional
ética e deontologia profissional
 
Energia fotovoltaica
Energia fotovoltaicaEnergia fotovoltaica
Energia fotovoltaica
 
Dimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiçoDimensionamento de pilar(es) de suporte de um passadiço
Dimensionamento de pilar(es) de suporte de um passadiço
 
Cork in aerospace
Cork in aerospaceCork in aerospace
Cork in aerospace
 
A cortiça
A cortiçaA cortiça
A cortiça
 
Water on fire
Water on fireWater on fire
Water on fire
 
Projecto de uma estrutura metálica (apresentação)
Projecto de uma estrutura metálica  (apresentação)Projecto de uma estrutura metálica  (apresentação)
Projecto de uma estrutura metálica (apresentação)
 
Leis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidosLeis fundamentais da dinâmica dos fluidos
Leis fundamentais da dinâmica dos fluidos
 
ética e deontologia profissional (apresentação)
ética e deontologia profissional  (apresentação)ética e deontologia profissional  (apresentação)
ética e deontologia profissional (apresentação)
 
Controlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldaduraControlo da qualidade, segurança e higiene em soldadura
Controlo da qualidade, segurança e higiene em soldadura
 

Dernier

Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 

Dernier (20)

DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUAO PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
O PLANETA TERRA E SEU SATÉLITE NATURAL - LUA
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 

http

  • 1. Instituto Superior de Entre Douro e Vouga Tecnologias da Informação e da Comunicação│2010/2011 Tecnologias de Internet Trabalho realizado por: Sérgio Paulo Lopes da Rocha Santa Maria da Feira, 12 Novembro de 2010
  • 2. TP 2 - Trabalho Prático HTTP Í NDICE 1. HTTP (Hyper Text Transfer Protocol).................................................................... 3 1.1 Introdução ..................................................................................................... 3 1.2 Estrutura........................................................................................................ 3 1.3 Versões ......................................................................................................... 4 2. Arquitectura TCP/IP............................................................................................... 5 2.1 Camada de aplicação ................................................................................... 5 2.2 Camada de transporte .................................................................................. 5 2.3 Camada da internet (Rede)........................................................................... 6 2.4 Camada de interface de rede........................................................................ 6 3. PROTOCOLOS DA ARQUITETURA TCP/IP ........................................................ 7 3.1 O PROTOCOLO HTTP ................................................................................. 7 3.1.1 Métodos ................................................................................................ 7 3.2 O Protocolo TCP ........................................................................................... 8 3.3 O Protocolo IP............................................................................................. 10 4. Conclusão............................................................................................................ 12 5. Bibliografia........................................................................................................... 13 Sérgio Rocha - 2104 ISVOUGA Página 2 de 13
  • 3. TP 2 - Trabalho Prático HTTP 1. HTTP (HYPER TEXT TRANSFER PROTOCOL) 1.1 INTRODUÇÃO O HTTP (Hyper Text Transfer Protocol) é o protocolo responsável pelo funcionamento da World Wide Web. Torna possível a visualização dos documentos hipermídias, com textos, gráficos, som, imagem e outros recursos disponíveis na Web. Apesar da aparente complexidade desta, o protocolo HTTP é relativamente simples. As especificações do protocolo HTTP são úteis para todos que trabalham activamente na criação de sites Web, manutenção de servidores Web, ou com desenvolvimento de programas-clientes e servidores que venham a interagir com a Web. Tim Berners-Lee, físico inglês, começou em 1989, em Genebra, na Suíça, o desenvolvimento e implementação do protocolo HTTP, mais precisamente no European Center For High-Energy Physics. O protocolo surgiu devido à necessidade de troca de informações entre pesquisadores, e funcionaria com ligações, i.e., a partir de um documento poderia aceder a um link para outro documento de outro computador da rede. Provavelmente Tim nem imaginaria que o HTTP se viesse a transformar no principal protocolo de rede da Web actualmente. 1.2 ESTRUTURA A estrutura das transacções http, são da seguinte forma: • Uma linha inicial; • Linhas de cabeçalho (podem não existir); • Uma linha em branco obrigatória (CRLF); • Um corpo de mensagem opcional (dados consultados). - Quem não tentou aceder a algum recurso na Internet e recebeu a mensagem: "404 Not Found" ? Esta mensagem indica um erro por parte do cliente, que tentou aceder a um recurso inexistente e faz parte da linha de status, ou linha inicial de resposta que consiste em três partes separadas por espaços: Versão do Protocolo, Código de Status da Resposta, Frase que descreve o código do status. Exemplo: HTTP/1.1 200 OK Sérgio Rocha - 2104 ISVOUGA Página 3 de 13
  • 4. TP 2 - Trabalho Prático HTTP O primeiro dígito do código de status indica a categoria da resposta, como se segue: • 1xx Mensagem de Informação; • 2xx Operação de algum tipo bem sucedida; • 3xx Redireciona o cliente para outra URL; • 4xx Erro por parte do cliente; • 5xx Erro por parte do Servidor; Dois cabeçalhos bastante importantes do protocolo HTTP são os User-Agent e o Server. Estes cabeçalhos guardam informações sobre o browser (programa que solicita os recursos) e sobre o servidor que guarda os recursos. O formato destes cabeçalhos é "Programa/Versão". Ao navegar com um browser Netscape, o cabeçalho User-Agent conterá algo como: "Mozilla/4.51[pt] (Win98)". Deve ser dada atenção especial para este cabeçalho pois guarda informações de privacidade dos usuários. O cabeçalho Server é muito utilizado por Hackers pois mostra o programa que está instalado no Servidor. Um exemplo do cabeçalho é: "Server: Apache/1.3.19(UNIX)". Para visualizar o cabeçalho Server basta utilizar o método HEAD do protocolo HTTP. As linguagens de programação atuais trazem implementações bastante completas para a utilização do protocolo HTTP inclusive com exemplos de uso não só do método HEAD mas também dos outros métodos existentes. 1.3 VERSÕES • A HTTP/0.9 (Criado em 1991) • HTTP/1.0 (Criado em 1996) • HTTP/1.1 (Criado em 1999) Sérgio Rocha - 2104 ISVOUGA Página 4 de 13
  • 5. TP 2 - Trabalho Prático HTTP 2. ARQUITECTURA TCP/IP TCP/IP é um conjunto de protocolos usados em redes de computadores. TCP e IP são dois protocolos dessa família e por serem os mais conhecidos, tornou-se comum usar o termo TCP/IP para se referir à família inteira. É também usual falar em “suíte TCP/IP” para designar um pacote contendo o protocolo TCP/IP e alguns utilitários auxiliares. O desenvolvimento da arquitectura TCP/IP começou com o Departamento Americano de Defesa, no final da década de 60, que resolveu criar um software de comunicação entre computadores de forma que fosse possível a comunicação remota ou local, entre sistemas operacionais, iguais ou diferentes, utilizando ou não o mesmo tipo de hardware. O protocolo permitiu que, no começo da década de 70, os computadores pudessem comunicar-se remotamente, sendo de suma importância em navios de guerra ou entre porta-aviões. Para que isto fosse possível, foi necessário criar um sistema de comunicação onde a rede como um todo fosse dividida em “pequenas” redes independentes, passando a usar como padrão de interconexão o TCP/IP. A comutação por pacote (packet-switching), é a base da sua tecnologia de comunicação e utiliza o pacote (datagram) como unidade de transmissão de dados. Cada host conectado à rede possui um endereço único, possibilitando que a máquina emitente reconheça a máquina receptora. Os diversos tipos de protocolo disponíveis no TCP/IP trabalham em conjunto para que a comunicação possa ser efectuada. São organizados num modelo de 4 camadas: Aplicação, Transporte e Rede. 2.1 CAMADA DE APLICAÇÃO Esta camada permite que as aplicações tenham acesso às camadas inferiores através de portas TCP e UDP e define os protocolos utilizados por essas aplicações para envio e recepção de dados. Como exemplo temos os protocolos de HTTP e SMTP. 2.2 CAMADA DE TRANSPORTE Os protocolos desta camada coordenam o envio de mensagens de um computador a outro, podendo ou não implementar algum mecanismo de controle para garantir a Sérgio Rocha - 2104 ISVOUGA Página 5 de 13
  • 6. TP 2 - Trabalho Prático HTTP entrega das mensagens. Esses protocolos recebem pacotes da camada de aplicação e dividem-nos em segmentos, que são passados para a camada de rede. 2.3 CAMADA DA INTERNET (REDE) Esta camada define o mecanismo utilizado para que o computador de origem localize o computador de destino, definindo a rota que as mensagens deverão percorrer. Os protocolos da camada de rede recebem datagramas da camada de transporte e analisam-nos para definir a rota que será utilizada; 2.4 CAMADA DE INTERFACE DE REDE É responsável por encapsular os pacotes da camada da internet no formato específico da rede associada, e extrair os pacotes dos quadros vindos da rede e encaminhá-los à camada da internet. Sérgio Rocha - 2104 ISVOUGA Página 6 de 13
  • 7. TP 2 - Trabalho Prático HTTP 3. PROTOCOLOS DA ARQUITETURA TCP/IP 3.1 O PROTOCOLO HTTP É um protocolo do nível de aplicação que possui objectividade e rapidez necessárias para suportar sistemas de informação distribuídos, cooperativos e de hipermídia. As suas principais características são: • Propicia busca de informação e actualização; • As mensagens são enviadas num formato similar aos utilizados pelo correio electrónico da internet e pelo MIME; • Comunicação entre os agentes usuários e gateways, permitindo acesso a hipermídia e a diversos protocolos do mundo internet; • Obedece ao paradigma de cliente/servidor: um cliente estabelece uma conexão com um servidor e envia um pedido ao servidor, o qual o analisa e responde. A conexão deve ser estabelecida antes de cada pedido de cliente e encerrada após a resposta. As mensagens seguem o formato da RFC 822 (RFC 822, 2003) e apresentam-se na forma de: • Pedidos enviados pelo cliente ao servidor; • Respostas enviadas pelo servidor para o cliente. 3.1.1 MÉTODOS Método indica a forma a ser aplicada para requisitar um recurso. Os métodos aceites por um determinado recurso podem mudar dinamicamente. Os principais métodos são: • GET: recupera todas as informações identificadas no recurso da rede. Se o recurso for um processo executável, ele retornará a resposta do processo e não o seu texto. Existe o GET condicional que traz o recurso apenas se o mesmo foi alterado depois da data da última transferência; • HEAD: semelhante ao método GET, só que neste caso não há a transferência da entidade para o cliente. Este método é utilizado para testar a validade e acessibilidade dos links de hipertexto; Sérgio Rocha - 2104 ISVOUGA Página 7 de 13
  • 8. TP 2 - Trabalho Prático HTTP • POST: utilizado para solicitar que o servidor destino aceite a entidade constante no pedido como um novo subordinado ao recurso constante no URI. As suas principais funções são: − anotações de recursos existentes; − Colocar uma mensagem num bulletin board, newsgroup, mailing list; − Abastecer um processo com um bloco de dados; − Estender uma base de dados com uma operação de append. A entidade é subordinada da mesma forma que um arquivo é subordinado ao directório ou um registo na base de dados; • PUT: coloca a entidade abaixo do recurso especificado no pedido. Se esta entidade não existe é criada. Se existe, apenas é actualizada; • DELETE: solicita que o servidor origem apague o recurso identificado no URI; • LINK: estabelece uma ou mais relações de links entre o recurso identificado pelo URI e outros recursos existentes, não permitindo que o corpo da entidade enviada seja subordinada ao recurso; • UNLINK: remove uma ou mais relações de links existentes entre o recurso identificado no URI; 3.2 O PROTOCOLO TCP O TCP verifica a existência de erros em cada pacote que recebe para evitar a corrupção dos dados. A estrutura do TCP possui os seguintes campos principais: • Porta de origem: uma porta define o aplicativo na camada mais acima que transmitiu e que deverá receber os dados na outra ponta. Neste campo, é especificada a porta de origem; • Porta de destino: a porta (aplicativo) de destino; • Número de sequência: define o número de sequência do pacote TCP. Ele serve para evitar que ocorra a corrupção dos dados se um pacote chegar ao destino antes de outro, ou para detectar algum pacote que porventura se perdeu no caminho entre a origem e o destino; Sérgio Rocha - 2104 ISVOUGA Página 8 de 13
  • 9. TP 2 - Trabalho Prático HTTP • Número de confirmação: este número é enviado pela estação de destino para a estação de origem, para confirmar o recebimento de pacote(s) recebido(s) anteriormente; • Offset dos dados: indica o tamanho do cabeçalho TCP, em blocos de 32 bits; • Reservado: um campo reservado para uso futuro, sempre planeando previamente as melhorias ao protocolo; • Bits de controle: são os seguintes: − URG (urgente): envia uma mensagem ao destino de que dados urgentes estão esperando para serem enviados a ele; − ACK (confirmação): confirma o recebimento de um ou mais datagramas enviados anteriormente; − PSH (push): faz com que o TCP imediatamente envie os dados pendentes; − RST (reset): reinicia a comunicação entre os hosts; − SYN: usado na inicialização e para estabelecer um número de sequência; − FIN: mais nenhum dado está vindo da estação de origem; • Janela: o número de octetos de dados que começam com o valor indicado no campo Acknowledgement que o remetente do segmento de dados está querendo aceitar. Este é o método de controle de fluxo do TCP e se o receptor quiser que a estação de origem pare de enviar dados, ele configurará este campo como zero; • Soma de verificação: simplesmente um método de detecção de erros; • Ponteiro urgente: aponta para o número de sequência do byte após os dados urgentes, interpretado apenas quando URG é definido. O TCP é um protocolo orientado à conexão porque os dois computadores participantes da transmissão de dados sabem da existência um do outro. Esta conexão virtual entre eles é chamada de sessão. É também um protocolo complexo que promove a comunicação através de uma grande variedade de tecnologias de rede. A generalidade do TCP não parece interferir no seu desempenho. Sérgio Rocha - 2104 ISVOUGA Página 9 de 13
  • 10. TP 2 - Trabalho Prático HTTP 3.3 O PROTOCOLO IP O IP é responsável por endereçar e entregar os dados em uma comunicação de rede TCP/IP. Tenta entregar os dados, mas não garante que eles sejam entregues, que eles sejam entregues livres de erros ou que sejam entregues na mesma ordem pois isto é função de um protocolo da camada superior, como o TCP. O IP não estabelece uma sessão (link virtual) entre o computador de origem e o de destino, e também é responsável por pegar nos dados da camada de interface de rede e apresentá-los ao protocolo da camada acima que os solicitou. Quando os dados chegam vindos da camada superior, adiciona as suas informações de controle e um cabeçalho aos dados. A partir daí, aquele bloco de dados é chamado de datagrama. O datagrama, ao receber as informações de cabeçalho da camada de interface de rede (como o protocolo Ethernet) é chamado de pacote. O cabeçalho do IP tem vários campos: • Versão: este campo define a versão do protocolo IP utilizada; • Comprimento do cabeçalho: este campo define o tamanho, em blocos de 32 bits, do cabeçalho do IP; • Tipo de serviço: este campo contém quatro subcampos. O primeiro é o campo de precedência, que permite configurar a prioridade com que estes dados devem ser enviados na rede. Ele ocupa três bits, e por isso, seus valores variam de 0 a 7. Os outros três campos são bits únicos e, teoricamente, deveriam controlar como o datagrama deve ser roteado na rede: são os bits de baixo Retardo (Delay), Rendimento (Troughput) e Confiabilidade (Reliability); • Comprimento total: tamanho total do datagrama medido em bytes. Como este campo é composto por 16 bits, o tamanho máximo de um datagrama IP é de 65535 bytes; • Identificação: este campo tem a ver com a fragmentação de datagramas IP. Identifica quais fragmentos pertencem a qual datagrama, para que o destino não se confunda na hora de remontá-lo; • Sinalizadores: indicam, numa fragmentação de datagramas, se mais fragmentos chegarão ou se não serão enviados mais dados pertencentes ao datagrama Sérgio Rocha - 2104 ISVOUGA Página 10 de 13
  • 11. TP 2 - Trabalho Prático HTTP identificado no campo acima. Também indicam se um datagrama pode ou não ser fragmentado. Caso o bit de não fragmentação for definido, o router que receber o datagrama e precisar fragmentá-lo para seguir adiante simplesmente descartará aquele datagrama e enviará uma mensagem de erro ao computador de origem; • Offset do fragmento: indica que parte do datagrama à estação de destino deve continuar a remontá-lo para determinado fragmento; • Tempo de vida: define o tempo máximo que um datagrama pode circular na rede antes de ser descartado. Cada vez que o datagrama passa por um router, este campo é diminuído. Foi criado para que um pacote não fique eternamente a circular na rede. • Protocolo: neste campo o protocolo da camada superior para o qual os dados devem ser repassados; • Soma de verificação: aqui está contida uma CRC do cabeçalho IP com o objectivo de evitar erros na transmissão. O CRC é um número que é calculado pelo computador de origem com base no conteúdo do cabeçalho. Quando a estação de destino receber o datagrama, ela calculará a sua CRC com base nos dados de cabeçalho que foram recebidos e caso os valores sejam diferentes dos contidos no campo soma de verificação, um erro na transmissão ocorreu e o datagrama será descartado. Note que este campo é recalculado cada vez que o datagrama passa por um router, pois este altera o campo TTL do cabeçalho; • Opções do IP: pode ou não estar presente (pouco utilizado actualmente). Especifica diversas opções do datagrama IP, como a que permite que os pontos por onde o datagrama passa sejam "ecoados" para o computador de origem e a que configura uma rota restrita, limitando a liberdade dos routers de encaminhar o datagrama. O endereçamento lógico no TCP/IP é definido pelo protocolo IP, que determina que cada computador da rede deve ter um endereço IP único na rede, composto de 32 bits. Esse endereço define a rede à qual o computador pertence e identifica-o nessa rede. Essas informações permitem ao protocolo IP implementar o mecanismo de routeamento das redes TCP/IP. Sérgio Rocha - 2104 ISVOUGA Página 11 de 13
  • 12. TP 2 - Trabalho Prático HTTP 4. 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 garantir a 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, técnicamente 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. Sérgio Rocha - 2104 ISVOUGA Página 12 de 13
  • 13. TP 2 - Trabalho Prático HTTP 5. BIBLIOGRAFIA • http://www.linuxmall.com.br/produto/pocket-http-guia-de-consulta-rapida.html • http://pt.wikipedia.org/wiki/Http Sérgio Rocha - 2104 ISVOUGA Página 13 de 13