Upload
augusto-medeiros
View
5
Download
3
Embed Size (px)
Citation preview
Agenda Semestral
� 07/08 Visão geral Web, HTML;
� 14/08 Evolução do desenvolvimento de soluções (stand-alone, applets, client-server e três
camadas);
� 21/08 Visão geral do desenvolvimento em três camadas;
� 04/09 Visão geral dos servidores de aplicação;
� 11/09 Java na Web;
� 18/09 Segurança;
� 25/09 Desempenho;
� 02/10 Usando Java Server Pages (JSP);
� 09/10 Servlets;
� 16/10 Diferenças entre JSP e Servlets;
Prof. Takeshi Waku 2
Agenda Semestral� 23/10 Acessando dados em formato texto e em bancos de dados com JSP e Servlets;
� 30/10 Interface interativa e intuitiva;
� 06/11 Navegabilidade;
� 13/11 Desenvolvimento de um Programa ou Aplicativo em Java Enterprise Edition (JSP e Servlets).
� 20/11 Dia consciência negra não há aula.
� 27/11 p2
� 4/12 vista
� 11/12 exame
Prof. Takeshi Waku 3
Bibliografia
� Web
� Use a cabeça! JSP e Servlets
� Sobre Java e melhores práticas
� Refactoring, Martin Fowler
� Effective Java - 2nd edition, Joshua Bloch
� Design Patterns, Erich Gamma et al
� Para iniciantes na plataforma Java:
� Java - Como programar, de Harvey M. Deitel
� Use a cabeça! - Java, de Bert Bates e Kathy Sierra
Prof. Takeshi Waku 4
HTTP (HyperText Transfer Protocol)
� Permitir uma transferência de ficheiros
(essencialmente no formato HTML) localizados
graças a uma cadeia de caracteres
chamada URL entre um navegador (o cliente) e um
servidor Web (chamado de resto httpd nas
máquinas UNIX).
Prof. Takeshi Waku 5
URL
� Uma URL (de Uniform Resource Locator), em
português Localizador Uniforme de Recursos, é o
endereço de um recurso (um arquivo, uma
impressora etc.), disponível em uma rede; seja a
Internet, ou uma rede corporativa, uma intranet.
Uma URL tem a seguinte estrutura:
protocolo://máquina/caminho/recurso
Prof. Takeshi Waku 6
Pedido HTTP
� Uma linha de pedido : A linha compreende três elementos
que devem ser separados por um espaço:
� O método
� O URL
� A versão do protocolo utilizado pelo cliente (geralmente HTTP/1.0)
� GET http://pt.kioskea.net HTTP/1.0
Prof. Takeshi Waku 8
� Os campos de cabeçalho do pedido : trata-se de um conjunto de
linhas facultativas que permitem dar informações suplementares
sobre o pedido e/ou o cliente (Navegador, sistema de exploração,…).
Cada um destas linhas é composta por um nome que qualifica o tipo
de cabeçalho, seguido de dois pontos (:) e do valor do cabeçalho
� O corpo do pedido : é um conjunto de linhas opcionais que devem
ser separadas das linhas precedentes por uma linha vazia e
permitindo por exemplo um envio de dados por um comando POST
aquando do envio de dados ao servidor por um formulário
Prof. Takeshi Waku 9
Exemplo
� GET http://pt.kioskea.net HTTP/1.0
� Accept : text/html If-Modified-Since :
Saturday, 15-January-2000 14:37:11 GMT
� User-Agent : Mozilla/4.0 (compatible; MSIE
5.0; Windows 95)
Prof. Takeshi Waku 10
Comandos
� GET Solicita algum recurso como um arquivo ou
um script CGI (qualquer dado que estiver identificado pelo URI) por
meio do protocolo HTTP. Por exemplo, segue abaixo uma
comunicação entre um cliente e um servidor HTTP. O servidor possui
a URL www.exemplo.com, porta 80.
� HEAD Variação do GET em que o recurso não é retornado. É usado
para obter metainformações por meio do cabeçalho da resposta, sem
ter que recuperar todo o conteúdo.
Prof. Takeshi Waku 11
Comandos
� POST Envia dados para serem processados (por exemplo, dados de um formulário HTML) para o recurso
especificado. Os dados são incluídos no corpo do comando. Sua utilização em uma requisição ocorre
quando é necessário enviar dados ao servidor para serem processados, geralmente por um
programa script identificado no Request-URI. Uma requisição por meio desse método sempre requer que
as informações submetidas sejam incluídas no corpo da mensagem e formatadas como uma query string,
além de conter cabeçalhos adicionais especificando seu tamanho (Content-Lenght) e seu formato
(Content-Type). Por isso, esse método oferece uma maior segurança em relação aos dados transferidos,
ao contrário do método GET que os dados são anexados a URL, ficando visíveis ao usuário.14 Por
exemplo:
Prof. Takeshi Waku 12
Comandos
� PUT
� Envia certo recurso.
� DELETE
� Exclui o recurso.
� TRACE
� Ecoa o pedido, de maneira que o cliente possa saber o que os servidores
intermediários estão mudando em seu pedido.
� OPTIONS
� Recupera os métodos HTTP que o servidor aceita.
� CONNECT
� Serve para uso com um proxy que possa se tornar um túnel SSL (um túnel pode ser
usado, por exemplo, para criar uma conexão segura).Prof. Takeshi Waku 13
Resposta HTTP
� Uma linha de estatuto : é uma linha que precisa a versão do protocolo utilizado e o
estado do tratamento do pedido através de um código e de um texto explicativo. A
linha compreende três elementos que devem ser separados por um espaço:
� A versão do protocolo utilizado
� O código de estatuto
� A significado do código
� Os campos de rubrica da resposta : trata-se de um conjunto de linhas facultativas
que permitem dar informações suplementares sobre a resposta e/ou o servidor.
Cada um destas linhas é composta de um nome que qualifica o tipo de rubrica,
seguido de dois pontos (:) e do valor da rubrica
� O corpo da resposta : contem o documento pedido
Prof. Takeshi Waku 15
Exemplo
� HTTP/1.0 200 OK
� Date : Sat, 15 Jan 2000 14:37:12 GMT
� Server : Microsoft-IIS/2.0 Content-Type : text/HTML Content-Length : 1245
Last-Modified : Fri, 14 Jan 2000 08:25:13 GMT
Prof. Takeshi Waku 16