Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Introdução à Desenvolvimento Web: Protocolo HTTP e Métodos de Enviio de Dados, Notas de estudo de Informática

A história do protocolo http e a introdução dos métodos get, post, head, put e delete para a transferência de dados na world wide web. O texto também discute a importância de jsp e servlets no contexto de desenvolvimento web.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 27/03/2008

maxwenne-guimaraes-10
maxwenne-guimaraes-10 🇧🇷

5

(1)

11 documentos

1 / 6

Documentos relacionados


Pré-visualização parcial do texto

Baixe Introdução à Desenvolvimento Web: Protocolo HTTP e Métodos de Enviio de Dados e outras Notas de estudo em PDF para Informática, somente na Docsity! Página 1 de 6 E-mail professor: sandrotc@anhanguera.edu.br –Arquivo: dw01 Introducao a DW.doc Introdução à Disciplina Desenvolvimento Web Protocolo HTTP (Hypertext Transfer Protocol) Até o final dos anos 80 as informações compartilhadas na Internet consistiam, primariamente, de trocas de mensagens de correio eletrônico e arquivos de dados de computadores. Nessa época começaram a surgir os arquivos multimídia que, além de textos, continham também figuras, sons e ligações (hyperlinks) que permitiam ao usuário "saltar" dentro de arquivos de um modo não linear, ou até mesmo saltar para outros arquivos contendo informações relacionadas. Foi necessário criar novos protocolos para atender a esses novos requerimentos. O padrão de arquivo HTML (HyperText Markup Language) e o padrão servidor HTTP (HyperText Transfer Protocol) resultaram de um projeto do CERN (European Particle Physics Laboratory), em 1989. Estes padrões forneceram as bases para o surgimento da WWW - o serviço de maior popularidade da Internet e grande responsável pelo seu atual crescimento exponencial. Computação Cliente-Servidor na Internet Abaixo um diagrama que representa a computação Cliente-Servidor utilizada na Internet/ Nível Sistemas Cliente Servidor Intermediário Back-end Solicitações WEB simples • Navegador do cliente solicita documento HTML e o servidor Web encontra o arquivo correspondente e devolve ao cliente • Se houver imagem(ns), por exemplo, o navegador submete novas solicitações • A cada interação do usuário com um site, um novo documento é enviado ao navegador, que obedientemente descarta o documento antigo e exibe o novo, uma vez que o navegador é “burro” e não sabe mais o que fazer. - Navegador web - Outro software - Servidor web (HTTP) - Simple Mail Transfer Protocol (SMTP) p/ envio e recebimento de e-mails - Domain Name System (DNS) que relaciona endereços numéricos c/ nomes alfabéticos. Ex.: 198.4.159.10 - File Transfer Protocol (FTP) p/ transferência de arquivos de e para servidores - Firewall (filtra dados) - Network News Transfer Protocol (NNTP) que permite acesso a grupos de discussão. - Servidores de Aplicativos (Middleware: tradutores entre aplicativos) Páginas web Arquivos de correio - Vendas - Produção - Contab. - Folha pgto - etc. BD Página 2 de 6 E-mail professor: sandrotc@anhanguera.edu.br –Arquivo: dw01 Introducao a DW.doc Métodos de Envio de Dados O protocolo no nível da aplicação para a transferência de hipertexto (HTTP, HyperText Transfer Protocol) opera sobre o protocolo TCP/IP para estabelecer um mecanismo de serviço com estrutura requisição-resposta, como já foi estudado acima. Uma das características peculiares de HTTP é a composição flexível do cabeçalho, composto por diversas linhas, o que permite sua utilização como integrador de diversos formatos e não apenas de documentos HTML. Essa flexibilidade reflete-se também na maior complexidade desse protocolo. No entanto, é possível estabelecer servidores HTTP operando com configurações simplificadas, onde nem todos os serviços previstos no protocolo são implementados. Veja a seguir os principais serviços de HTTP disponíveis. Estudaremos em nossa disciplina os métodos principais que são GET e POST. • GET: solicita ao servidor o envio de um recurso; é o serviço essencial para o protocolo. • HEAD: variante de GET que solicita ao servidor o envio apenas de informações sobre o recurso. • PUT: permite que o cliente autorizado armazene ou altere o conteúdo de um recurso mantido pelo servidor. • POST: permite que o cliente envie mensagens e conteúdo de formulários para servidores que irão manipular a informação de maneira adequada. • DELETE: permite que o cliente autorizado remova um recurso mantido pelo servidor. A título de curiosidade e também para posterior entendimento em nossas aulas, veja nos exemplos a seguir que um cabeçalho HTTP é composto por uma linha contendo a especificação do serviço e recurso associado, seguida por linhas contendo parâmetros. Um exemplo de requisição gerada por um cliente HTTP é: GET http://www.dca.fee.unicamp.br/ Accept: text/html, image/gif, image/jpeg User-Agent: Mozilla/3.0 para a qual o cabeçalho da resposta poderia ser: HTTP/1.1 200 OK Date: Wed, 24 Mar 1999 23:23:45 GMT Server: Apache/1.2b6 Connection: close Content-Type: text/html Content-length: 648 Método GET • Não aceita caracteres inválidos na URL • As informações ficam na URL (o usuário vê). Impróprio para manipular senhas ou informações sigilosas • Permite até 2 mil caracteres (cerca de 2K) • Servidores Web podem assumir que a requisição pode ser repetida (URL gravada no bookmark) • Só GET permite passar parâmetros por links (no método POST apenas com o uso de formulários) • Dados são armazenados em cache pelos browsers • Exemplo: http://www.lojafulana.com.br/consulta_produto.php?id_produto=54037&pco_produto=13098 Onde: ? corresponde ao início da string (parâmetro(s)) & início de nova variável na lista de parâmetro(s) = separa variável de seu valor Método POST • Sem limite de quantidade de caracteres no envio • Oculta as informações do usuário, sendo útil no envio de formulários • Não é possível registrar requisição em um bookmark • Podemos enviar imagens e outros arquivos usando o valor FILE na opção TYPE da tag INPUT. • Headers = informações trocadas entre navegador e servidor contendo, dentre outras informações: Página 5 de 6 E-mail professor: sandrotc@anhanguera.edu.br –Arquivo: dw01 Introducao a DW.doc A seguir o programa escrito em Linguagem C chamado meuprograma.c #include <iostream.h> #include <stdlib.h> int main(void) { int iContador; // Contador a ser usado na estrutura for int iTamanhoCONTENT=0; // Armazena o comprimento da string POST char sStringPOST[1024]=""; // Armazena o conteúdo da string POST // Obtem o comprimento da string POST iTamanhoCONTENT = atoi(getenv("CONTENT_LENGHT")); // Obtem o conteudo da string POST recebido do navegador (cliente) // A instrução a seguir em PHP seria: // sStringPOST = $_POST["nome_campo_form_html"]; cin.read(sStringPOST, iTamanhoCONTENT); // Envia inicio do formulario html ao cliente cout << "Content-Type: text/html\n\n"; cout << "<html><head><title>Teste de CGI com C</title></head><body>"; // Envia conteúdo de sStringPOST ao cliente if (iTamanhoCONTENT > 0) cout << sStringPOST; // Escreve de 1 até 50 no cliente for (iContador = 1; iContador <= 50; iContador++) cout << iContador << "<br>"; // Envia string para encerrar código html no cliente cout << "</body></html>"; return (0); } JavaServer Pages (JSP) A seguir as características da linguagem JSP que será utilizada em nossa disciplina. • Tecnologia baseada em JAVA • Linguagem para criação de scripts do lado do servidor (server-side) • HTML com JSP embutido • Permite o uso de tags do tipo HTML que interagem com objetos java no servidor, sem a necessidade de termos código bruto java em uma página • Versão 1.0 foi lançada em 1999 • JDK 1.0 foi lançado em janeiro de 1996 • Em junho de 1999, Sun e Apache anunciaram projeto Jakarta (implementação open-source de servlets e JSP) • Oferece capacidade de separar a lógica de implementação da apresentação • Bytecode de Java compilado = portável (JVM) • Facilita a divisão do trabalho em equipe (desenvolvimento da aplicação x design da página) Página 6 de 6 E-mail professor: sandrotc@anhanguera.edu.br –Arquivo: dw01 Introducao a DW.doc Servlet A seguir as características da tecnologia Servlet que será utilizada em nossa disciplina. • Tecnologia baseada em JAVA • É a base do desenvolvimento de aplicativos web usando a Linguagem de Programação Java • É a tecnologia subjacente para a JSP • Rápido ciclo de desenvolvimento • Portabilidade e Robustez • Desempenho superior à CGIs, pois não há processo de criação (operação “cara”) para cada solicitação de cliente, sendo cada solicitação gerenciada pelo container de servlet, permanecendo com o processo na memória para uma nova solicitação. • Um servlet é uma classe Java que pode ser carregada e executada por um servidor web especial (container de servlet). • Trabalha sobre http, por meio do modelo solicitação-resposta. Questionário (Envie seu questionário ao professor para sandrotc@anhanguera.edu.br a fim de obter conceitos de classe ao longo do semestre letivo. Bom trabalho!) 1) O que significa HTTP? Explique, de forma sucinta, em que o protocolo HTTP se baseia. 2) Quando devemos usar JSP e Servlet? 3) Elabore um diagrama ilustrando a computação Cliente-Servidor da Internet. 4) Explique os métodos de envio de dados GET, POST, HEAD, PUT e DELETE. 5) Pesquise e responda: Quais são as três edições da plataforma JAVA? Explique cada uma delas. 6) O significa a sigla CGI? Explique o que é CGI. 7) Explique os termos Client-side e Server-side no que se refere às linguagens de programação. Cite um ou mais exemplos de uma linguagem de programação do tipo Client-side e uma do tipo Server-side. 8) Pesquise e responda: Explique o termo Framework no contexto Desenvolvimento de Software. Cite exemplos relacionados ao Java. 9) Quais são as principais características da tecnologia Servlet? 10) Você consegue explicar a frase: “separar a lógica de apresentação da lógica do negócio”? Aonde entra o uso de JSP e Servlet neste contexto? Que outras tecnologias Java também acrescentam benefícios à esta prática?
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved