Aplicacao Web: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(11 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 4: Linha 4:


Elementos da aplicação Web:
Elementos da aplicação Web:
*Clientes: São os '''navegadores''' Web, como Firefox, Chrome, IExplorer, etc.
;Clientes Web: São os '''navegadores''' Web, como Firefox, Chrome, IExplorer, links (navegador modo texto) etc.
*'''Servidores''': Armazenam as páginas Web e atendem as requisições de clientes, como por exemplo o servidor Web '''apache''', disponível nas distribuições do Linux.
;Servidores Web: Armazenam as páginas Web e atendem as requisições de clientes, como por exemplo o servidor Web '''apache''', disponível nas distribuições do Linux.
*'''Protocolo HTTP''' (''Hipertext Transfer Protocol''): Define o formato das mensagens de requisição e resposta entre os navegadores Web (clientes) e servidores Web.
;[[Protocolo HTTP]]: Define o formato das mensagens de requisição e resposta entre os navegadores Web (clientes) e servidores Web.
*Protocolo de transporte: A aplicação Web é do tipo pedido/resposta e usa o '''protocolo TCP''', o qual fornece transferência de dados garantida (livre de erros) para as mensagens do protocolo HTTP.
;Protocolo de transporte: A aplicação Web é do tipo pedido/resposta e usa o '''protocolo TCP''', o qual fornece transferência de dados garantida (livre de erros) para as mensagens do protocolo HTTP.
*Porta: Os clientes requisitam páginas na '''porta 80''' do servidor Web.
;Porta: Os clientes requisitam páginas na '''porta 80''' do servidor Web.
*Páginas Web: As páginas Web armazenadas em servidores são codificadas no formato '''HTML''' (''Hipertext Meta Language'')
;Páginas Web: As páginas Web armazenadas em servidores são codificadas no formato '''HTML''' (''Hipertext Meta Language'').


== Protocolo HTTP<ref name="KUROSE">KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem ''top-down'', São Paulo: Pearson, 2010.</ref>==
[[Arquivo:AplicacaoWeb.png]]
O protocolo HTTP usa o paradigma '''pedido/resposta''' para troca de mensagens entre o cliente e o servidor.
 
;Versões
Há duas versões do protocolo HTTP implementadas pelos navegadores, o HTTP/1.0 e o HTTP/1.1 e ambas as versões usam como protocolo de transporte o TCP e são compatíveis entre si:
*'''HTTP/1.0''' (RFC 1945): Usa '''conexões TCP não persistentes''', isto é, a conexão TCP entre o cliente e o servidor é fechada após a transferência de cada objeto. Por exemplo, caso uma página Web seja formada por uma página base HTML e mais alguns arquivos com imagens, para cada imagem uma nova conexão TCP deverá ser aberta.
*'''HTTP/1.1''' (RFC 2068): Usa '''conexões TCP persistentes''', na qual a conexão TCP é mantida entre o cliente e o servidor, permitindo a troca de vários objetos pela mesma conexão. Para que haja conexões persistentes, tanto o cliente como o servidor devem implementar a versão HTTP/1.1 do protocolo.
 
;Mensagens em formato ASCII
Uma característica importante das mensagens do Protocolo HTTP é que todas são codificadas no formato [http://pt.wikipedia.org/wiki/ASCII '''ASCII'''], ou seja, uma mensagem simples de texto.
 
;Principais mensagens do Protocolo HTTP:
*'''Pedido''':
GET /index.html HTTP/1.1
Host: www.exemplo.com
Connection: close
User-agent: Mozilla/4.0
Accept-language:pt
:A primeira linha apresenta o comando básico para requisição de uma página Web, seguido pela parte do URL que indica objeto que se deseja e a versão do protocolo (GET /index.html HTTP/1.1). As linhas seguintes, chamadas de cabeçalho, são opcionais. A segunda linha (Host: www.exemplo.com) indica o nome computador onde reside o objeto; a terceira linha (Connection: close) informa para fechar a conexão após envio da resposta; a quarta linha (User-agent: Mozilla/4.0) indica o tipo do agente usuário utilizado e a linha (Accept-language:pt) indica que o português é a língua preferencial. Do ponto de vista do usuário o mesmo só enxerga o endereço URL que digitou e o navegador monta e envia as mensagens HTTP de forma transparente.
 
POST
:Possui cabeçalho similar ao GET e mais um campo com dados, utilizados quando o cliente precisa enviar ao servidor, por exemplo, dados para o preenchimento de um formulário.
 
HEAD
:Requisita do servidor apenas o cabeçalho da mensagem, sem dados, usada para testes.
 
 
*'''Resposta''':
HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
:A primeira linha indica a versão do protocolo, o código e estado (''status'') da mensagem (HTTP/1.1 200 OK). A segunda linha (Connection: close) indica que a conexão TCP será encerrada; a terceira linha (Date: Thu, 06 Aug 1998 12:00:15 GMT) informa a data da última modificação no objeto solicitado, utilizada por servidores proxy; a quarta linha (Server: Apache/1.3.0 (Unix)) indica o tipo do servidor, a quinta linha (Content-Length: 6821) indica o tamanho do objeto em bytes e a última linha (Content-Type: text/html) informa o conteúdo da mensagem.
 
*Outras '''respostas''' e códigos de ''status'' comuns:
200 OK
301 Moved Permanently
400 Bad Request
404 Not Found
505 HTTP Version Not Suported
:200 OK: requisição bem sucedida; 301 ''Moved Permanently'': objeto requisitado foi removido permanentemente; 400 ''Bad Request'': código de erro genérico indicando que o servidor não pode atender a requisição; 404 ''Not Found'': documento procurado não existe no servidor; 505 HTTP ''Version Not Suported'': versão do protocolo não suportada.


====Referências====
====Referências====

Edição atual tal como às 19h24min de 21 de novembro de 2024

Aplicação Web

A aplicação WWW (World Wide Web), ou simplesmente Web, é uma aplicação que funciona sobre demanda, permitindo a navegação através páginas de hipertextos armazenadas em servidores Web.

Elementos da aplicação Web:

Clientes Web
São os navegadores Web, como Firefox, Chrome, IExplorer, links (navegador modo texto) etc.
Servidores Web
Armazenam as páginas Web e atendem as requisições de clientes, como por exemplo o servidor Web apache, disponível nas distribuições do Linux.
Protocolo HTTP
Define o formato das mensagens de requisição e resposta entre os navegadores Web (clientes) e servidores Web.
Protocolo de transporte
A aplicação Web é do tipo pedido/resposta e usa o protocolo TCP, o qual fornece transferência de dados garantida (livre de erros) para as mensagens do protocolo HTTP.
Porta
Os clientes requisitam páginas na porta 80 do servidor Web.
Páginas Web
As páginas Web armazenadas em servidores são codificadas no formato HTML (Hipertext Meta Language).

Referências



--Evandro.cantu (discussão) 10h32min de 12 de junho de 2014 (BRT)