You are on page 1of 34

MINISTRIO DA EDUCAO SECRETARIA DE EDUCAO PROFISSIONAL E TECNOLGICA

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA TRINGULO MINEIRO

Campus Uberlndia

Protocolos e Programao para Internet


Arquitetura de aplicaes web. Web Servers. Protocolo HTTP.

Prof. Me. Edson Angoti Jnior

Histrico do ambiente corporativo de TI

Grandes centros de processamento com custos elevados de operao e manuteno Sistemas monolticos, que exigiam pessoal especializado, com grande conhecimento sobre detalhes tcnicos de operao

Fonte: Uma introduo ao Software + Servios, SaaS e SOA

Waldemir Cambiucci Maio de 2009

Prof. Me. Edson Angoti Jnior

Histrico do ambiente corporativo de TI

Computao pessoal, poder de processamento a baixo custo para o usurio final. Computao cliente/servidor. Equipamentos de integrao como bridges, roteadores, switches e hubs iniciavam suas aparies, permitindo que empresas integrassem ambientes de computao e sistemas
Fonte: Uma introduo ao Software + Servios, SaaS e SOA

Waldemir Cambiucci Maio de 2009

Prof. Me. Edson Angoti Jnior

Histrico do ambiente corporativo de TI

Surgimento da Web como uma rede pblica de baixo custo disponvel para universidades, empresas e usurios domsticos . Padres como HTTP (Hypertext Transfer Protocol), HTML (HyperText Markup Language) e XML (eXtensible Markup Language) permitiram a oferta de servios empresariais atravs da internet
Fonte: Uma introduo ao Software + Servios, SaaS e SOA

Waldemir Cambiucci Maio de 2009

Prof. Me. Edson Angoti Jnior

Histrico do ambiente corporativo de TI

Hoje, estamos acompanhando o nascimento de uma nova onda no setor de TI, a chamada computao em nuvem (cloud computing) Gigantes como Microsoft, Amazon e Google ampliam suas ofertas de datacenters pelo mundo, oferecendo recursos de infra-estrutura alm das fronteiras das empresas
Fonte: Uma introduo ao Software + Servios, SaaS e SOA

Waldemir Cambiucci Maio de 2009

Prof. Me. Edson Angoti Jnior

Histrico do ambiente corporativo de TI

Vivemos assim o surgimento de uma TI mais dinmica, flexvel e hbrida, combinando servios locais, hospedados em mquinas e servidores locais, com servios remotos, hospedados em datacenters diversos Da mesma forma, o custo de operao dessa nova TI ser mais flexvel, entre custos prprios, de servios auto-hospedados e custos dinmicos, a partir de servios oferecidos pela internet e pagos por demanda, pelo volume de uso
Prof. Me. Edson Angoti Jnior

Arquitetura
Arquitetura (IEEE Standart 1471-2000)
Arquitetura a organizao fundamental de um sistema consubstanciado nos seus componentes, suas relaes entre cada um, e com o ambiente, e os princpios que norteiam a sua concepo e evoluo

Prof. Me. Edson Angoti Jnior

Arquitetura Web

Prof. Me. Edson Angoti Jnior

Arquitetura Web
Cliente
HTTP HTTP

Servidor Web

Servidor BD

Servidor de Aplicao
Prof. Me. Edson Angoti Jnior

Tecnologias de Aplicaes WEB


Servidor Web
Apache IIS Tomcat Jboss ...

Prof. Me. Edson Angoti Jnior

10

Tecnologias de Aplicaes WEB


Cliente
Firefox Internet Explorer Chrome Safari Opera Konqueror ...

Prof. Me. Edson Angoti Jnior

11

Tecnologias de Aplicaes WEB


Programao Lado Cliente
HTML CSS Javascript/Ajax Flash Flex ActiveX Applets Java Silverlight

Prof. Me. Edson Angoti Jnior

12

Tecnologias de Aplicaes WEB


Programao Lado Servidor
CGI Extenses de servidor: NSAPI, ISAPI Server-side Javascript ASP/ASPX PHP ColdFusion Servlet/JSP ...

Prof. Me. Edson Angoti Jnior

13

Protocolo HTTP
HyperText Transfer Protocol
Protocolo do nvel de aplicao para sistemas de informao hipermdia e distribudos.

o protocolo universal da Web Browsers e outros programas podem usar HTTP Qualquer tipo de dado pode ser transportado por HTTP, no apenas HTML Documentao oficial
http://www.w3.org/Protocols/ arquivo RFC2616

Prof. Me. Edson Angoti Jnior

14

Modelo requisio/resposta
As aplicaes baseadas no protocolo HTTP (web application) seguem a arquitetura de aplicao cliente/servidor
O lado do cliente e o lado do servidor trocam informaes atravs de mensagens, conhecidas como mensagens HTTP

Prof. Me. Edson Angoti Jnior

15

Modelo requisio/resposta
Cliente Web

Abre uma conexo com o servidor

Envia uma requisio HTTP: GET /index.html HTTP/1.1 ...

Retorna um resposta HTTP: HTTP/1.1 200 ok ...

Servidor Web
Prof. Me. Edson Angoti Jnior

16

Modelo requisio/resposta
Seqncia de eventos
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 retorna para o cliente uma resposta HTTP


A conexo encerrada (se a requisio usar a verso 1.0 do HTTP)

Prof. Me. Edson Angoti Jnior

17

Mensagens HTTP
A Requisio e a Resposta so mensagens HTTP Mensagens HTTP so compostas de:
Linha inicial Zero ou mais campos de cabealho Linha vazia que indica o fim do cabealho Opcionalmente, contm um corpo de contedo

Prof. Me. Edson Angoti Jnior

18

Mensagens HTTP
Requisio
<mtodo> <uri> <protocolo/verso> <cabealho http:valor> <linha vazia> <corpo>

Resposta
<protocolo / verso> <nmero do status> <texto do status> <cabealho http:valor> <linha vazia> <corpo>

Prof. Me. Edson Angoti Jnior

19

Requisio HTTP (mtodo)


GET
Solicita ao servidor um determinado recurso, indicado pelo URI Este o mtodo usado pelo browser quando um URI (URL) digitado pelo usurio. Tambm usado quando o usurio clica em um link da pgina.

Prof. Me. Edson Angoti Jnior

20

Requisio HTTP (mtodo)


GET
GET <uri> <protocolo/verso> <Cabealhos HTTP : valores> <linha em branco>

GET pode enviar dados atravs da URI (tamanho limitado pelo S.O.) atravs de uma string chamada query : <uri> = http://host:port/abs_path?query

Prof. Me. Edson Angoti Jnior

21

Requisio HTTP (mtodo)


POST
Similar ao GET, exceto que envia dados ao servidor atravs de um corpo de contedo como fluxo de bytes
POST <uri> <protocolo/verso> <Cabealhos HTTP : valores> <linha em branco> <dados>

Prof. Me. Edson Angoti Jnior

22

Requisio HTTP (uri)


URI
Universal resource identifier (ver RFC 2396) String formatada que identifica um recurso por nome, localizao e outras caractersticas Identifica o recurso que dever processar a requisio Pode ser relativo (comeando com /) ou absoluto (comeando pelo protocolo) Pode referenciar arquivos estticos (.html, .jpg etc) ou dinmicos (scripts, executveis etc)

Prof. Me. Edson Angoti Jnior

23

Requisio HTTP (cabealhos)


Permite enviar informaes relativas requisio e ao cliente para o servidor Formato
<nome do cabealho:valor,[valor2,valor3,...]>

Prof. Me. Edson Angoti Jnior

24

Resposta HTTP
Um vez que o servidor recebeu e processou a requisio, ele deve retornar uma resposta HTTP ao cliente Consiste de:
Linha de status Zero ou mais campos de cabealho Linha vazia que indica o fim do cabealho Opcionalmente, contm um corpo de contedo

<protocolo / verso> <cdigo de status> <texto do status> <cabealho http:valor> <linha vazia> <corpo>

Prof. Me. Edson Angoti Jnior

25

Resposta HTTP
HTTP/1.1 200 OK ETag: W/"305-1075490878000" Last-Modified: Fri, 30 Jan 2004 19:27:58 GMT Content-Type: text/html Content-Length: 305 Date: Fri, 30 Jan 2004 19:39:31 GMT Server: Apache-Coyote/1.1 Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> teste </TITLE> </HEAD> <BODY> teste </BODY> </HTML>
Prof. Me. Edson Angoti Jnior

26

Cdigos de status
1xx: Informacional Requisio recebida, continuando o processamento 2xx: Sucesso A requisio foi recebida com sucesso, entendida e aceita 3xx: Redirecionado 4xx: Erro do cliente A requesio contm erro de sintaxe ou no foi compreendida 5xx: Erro do servidor O servidor falhou em atender a uma requisio

Prof. Me. Edson Angoti Jnior

27

Cdigo de status mais comuns


200 400 401 404 500 505 : : : : : : OK Bad Request Unauthorized Not Found Internal Server Error HTTP Version not supported

Prof. Me. Edson Angoti Jnior

28

Ambiente de Desenvolvimento
Servidor apache web server e a distribuio xampp Firefox
Plugin fire bug para visualizar requisies respostas HTTP Plugin web developer

IDE
eclipse helios + CDT + PDT

Prof. Me. Edson Angoti Jnior

29

Pasta raiz do apache web server

C:\xampp\htdocs\ppi\index.html

http://localhost/ppi/index.html

Prof. Me. Edson Angoti Jnior

30

Firefox

Prof. Me. Edson Angoti Jnior

31

S
Sempre criar projeto na pasta \xampp\htdocs

Prof. Me. Edson Angoti Jnior

32

IDE Eclipse

Prof. Me. Edson Angoti Jnior

33

Exerccio
Publicar uma pgina no servidor web com o seguinte endereo: http://localhost/aula/teste.html

Prof. Me. Edson Angoti Jnior

34

You might also like