Vous êtes sur la page 1sur 8

Protocolos da

Internet

Servlets
1.
Introduo
HTTP
HTTP
HTTP (HiperText Transfer Protocol)
Protocolo no nvel da aplicao.
o protocolo universal da web.
Usado por browsers e outros programas.
Transporta HTML e qualquer outro tipo de dado.
As aplicaes que utilizam o protocolo HTTP seguem a arquitetura
Cliente/Servidor
O lado cliente e o lado servidor trocam
mensagens HTTP.

3
Sequncia de Eventos - HTTP
O cliente (browser) abre uma conexo TCP com o servidor
(web server / http server).
O cliente envia uma requisio HTTP.
O servidor processa a requisio do cliente.
O servidor envia uma resposta HTTP ao cliente.
A conexo encerrada (se for usada a verso 1.0 do HTTP).

4
Requisio HTTP (cliente)
A requisio do cliente composta basicamente por:
1) um mtodo ou comando (usualmente GET e POST).
2) o endereo (path) de um recurso no servidor.
3) uma informao sobre a verso do HTTP usado.
EXEMPLO:
GET /index.html HTTP/1.0

GET obtm o contedo de um arquivo no servidor.


POST envia dados de formulrios HTML ao servidor.

Headers so parmetros adicionais na requisio.


EXEMPLO:
GET /index.html HTTP/1.0
User-Agent: Mozilla/4.0 (compatible MSIE5.0; Windows 98: DigExt)
Accept: tet/html

5
Resposta HTTP (servidor)
A resposta do servidor composta basicamente por:
1) primeira linha que contm informaes sobre a verso do protocolo,
um cdigo de status da resposta e uma mensagem associada a esse
status.
2) os headers (com informaes do servidor que gerou a resposta, por
exemplo).
3) e o contedo, propriamente dito, da resposta.
EXEMPLO:
HTTP/1.1 200 OK
Server: Apache/1.3.26 (Unix)
Last-Modified: Sun, 22 Dec 2002 17:47:59 GMT
Content-Type: text/html
Content-Length: 30
<HTML>
<BODY>
<\BODY>
<\HTM>

6
CGI ou Servlets ?
CGI - Common Gateway Interface
1) Uma das primeiras tecnologias para gerao de contedo dinmico
em servidores web.
2) Inicia um novo processo a cada requisio feita pelo cliente.

Servlets classes java que possuem uma estrutura bem definida e podem tratar
requisies do cliente.
Fica carregado em memria e atende as requisies recebidas atravs de novas
threads.
A formatao da pgina HTML resultante do processamento de uma requisio
se mistura com a lgica da aplicao em si.

7
Servlets
EXEMPLO:
import java.io.* ;
import javax.servlet.http.* ;

public class RemoteIPServlet extends HttpServlet {

public void doGet( HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {

PrintWriter exibe = reponse.getWriter( );


exibe.println(<HTML><BODY>);
exibe.println(O seu endereo IP \ + request.getRemoteAddr( ) + \) ;
exibe.println(</BODY></HTML>);
exibe.flush( );
}
}