Prévia do material em texto
PROGRAMAÇÃO CLIENTE EM SISTEMAS WEB 01 Um protocolo é um método que possibilita a comunicação entre processos através de regras e procedimentos de forma que seja possível o envio e o recebimento de dados numa rede. Atualmente existem vários tipos de protocolos usados na web, os mais utilizados são HTTP, FTP, SMTP, NNTP, entre outros. HTTP (Hypertext Tranfer Protocol): protocolo Web muito utilizado pelos servidores para efetuar a troca de informações na internet. Baseado no TCP/IP, o qual atua na camada de transporte, e que serve para transferir quase todo o tipo de recurso na Web, podendo ser arquivos em html, imagens, vídeos, entre outros. As comunicações são baseadas em requisições entre cliente (Navegador) e servidor (Servidor Web), de forma que o cliente faz uma solicitação para o servidor, e este deverá tratar o pedido e responder ao cliente através da porta 80. Após a requisição do cliente, o mesmo se desconecta do servidor, que ao tratar o pedido e respondê-lo, fica encarregado de reestabelecer a conexão. Comunicação entre um navegador e um servidor web O HTTP é mídia independente, ou seja, através dele podemos enviar qualquer tipo de dados. Vale lembrar que o cliente e o servidor estão conectados apenas durante uma requisição, depois que esta conexão é encerrada, nem o cliente nem o servidor podem armazenar dados de outras requisições através das páginas Web. A comunicação entre cliente e servidor se dá através de mensagens de pedido e resposta, as quais possuem formatos distintos. Requisição Uma mensagem de requisição do cliente é composta pelos seguintes campos: - Linha Inicial (Request-Line): que é composta por três partes separadas apenas por espaço: O método, que define o que será feito na aplicação; A 1 identificação do URI, que identifica sobre qual recurso será aplicada a requisição; A versão do HTTP, que atualmente a mais utilizada ainda é a versão 1.0. - Linhas de cabeçalhos (Request-header): servem para transmitir dados complementares entre cliente e servidor. - Linha em branco: obrigatória, para que seja separado o cabeçalho do corpo da mensagem. - Corpo de mensagem: opcional, que pode conter dados que serão enviados abaixo da linha do cabeçalho. No protocolo HTTP, o tipo de URI utilizado é chamado de URL, o qual é composto pela identificação do protocolo, pelo endereço do computador servidor e pelo documento requisitado. Exemplo: Resposta Uma mensagem de resposta do servidor é composta basicamente pelos seguintes campos: - Linha inicial (Status-Line): indica ao cliente se sua pesquisa foi bem sucedida ou não. Ela possui três partes separadas por espaços: a versão do protocolo HTTP (HTTP-Version) utilizada; um código de status (Status-Code) da resposta, que mostra o resultado da pesquisa, este código é composto por três dígitos, onde o primeiro representa a classe em que pertence (veja imagem abaixo); frase de justificativa (Reason-Phrase) que descreve o código do status. - Linhas de cabeçalhos (Responseheader): que fornecem informações da resposta sobre a requisição. - Linha em branco: obrigatória. - Corpo de mensagem: opcional, onde o recurso solicitado é retornado para o 2 cliente, ou um texto explicativo, caso ocorra algum tipo de erro. Como já foi dito anteriormente, quando uma solicitação por uma página de um site for feita ao servidor, este retornará um código de status HTTP em resposta à solicitação. Métodos Existem alguns métodos que são definidos pelo protocolo de comunicação HTTP para que seja efetuado o envio de dados para o servidor. São eles: - GET: Este método é normalmente utilizado para solicitar informações a um servidor por meio de uma mensagem. É muito usado para realizar ações menos complexas como aplicações que não sejam persistentes no servidor, ou até mesmo uma simples pesquisa. - POST: O método post envia dados ou formulários HTML para um servidor, por meio de scripts. É bastante aplicado quando se trata de aplicações que tem efeitos persistentes no servidor ou quando existe uma grande quantidade de dados a serem enviados. - HEAD: Retorna os cabeçalhos associados ao recurso, ou seja, somente informações sobre o objeto, como o tamanho, data de criação e etc. - PUT: Envia dados ao servidor. - DELETE: Exclui o recurso solicitado. - OPTIONS: Recupera os métodos HTTP que o servidor aceita. Para implementar os métodos POST ou GET é necessário a utilização da tag <form>, valendo de seu parâmetro method=”nome do método”. A figura abaixo ilustra uma implementação de código html com a utilização do método GET. Com o uso desses métodos é possível a passagem de informações entre arquivos. Os dados do formulário são primeiramente transmitidos ao software servidor, o servidor armazena os dados temporariamente QUERY_STRING – variável de contexto. 3 Após isto, a diretiva action= incluída na tag inicial do formulário, chama um script CGI, que trata os dados inseridos na variável de contexto. Utilizando-se uma linguagem de programação como PHP é possível obter os dados de contexto da seguinte forma: No endereço do browser, após na URL o ponto (?) é responsável por chamar a CGI. Ao se utilizar o método GET é possível visualizar os campos de dados no endereço do navegador do usuário. Nas figuras abaixo, podemos observar que após digitar a palavra “Estácio” no campo de texto denominado Dados, é possível enviar a informação digitada no endereço da url gerada após clicar no botão Enviar. No formulário HTML o campo Dados foi nomeado simplesmente txtdados. Observe que tanto o campo txtdados quanto o seu conteúdo é visível na URL. Para ocultar essas informações basta a substituição do método GET para POST, tanto no arquivo de origem das informações (HTML), quanto no arquivo destino (PHP). 4