Tema 5 Webapps
Tema 5 Webapps
Tema 5 Webapps
html
Suportado em TCP
Popularizado em 1990
por Tim Berners-Lee
Criação da World Wide Web
Protocolo baseado em
Texto
HTTP Request
GET /
HTTP/1.1
Accept:*/*
Accept-Language: en-gb Cabeçalho
HTTP Accept-Encoding: gzip, deflate
Version User-Agent: Mozilla/4.0 (compatible; MSI 6.0)
Host: www.ua.pt
Connection: Keep-Alive
HTTP Response
Desempenho e Segurança
Cada pedido feito ao Servidor despoleta
um novo processo que executa o programa
externo
Processo do CGI é terminado quando o
programa acaba de executar pelo que não
há manutenção de estado de uma execução
para outra
Servidores Aplicacionais
import cherrypy
from datetime import datetime
http://server/?name=John
class HelloWorld(object):
@cherrypy.expose
def index(self, name):
return "Hello " + name
http://server/now
@cherrypy.expose
def now(self):
return str(datetime.now())
cherrypy.quickstart(HelloWorld())
CherryPy
Cabeçalhos HTTP do pedido são expostos à aplicação
class HelloWorld(object):
@cherrypy.expose
def index(self, name):
addr=cherrypy.request.headers["Remote-Addr"]
return "Hello " + name + " at " + addr
class HelloWorld(object):
@cherrypy.expose
def index(self, name):
addr=cherrypy.request.headers["Remote-Addr"]
cherrypy.response.headers["Content-Type"]="application/javascript"
m = json.dumps({"message": "Hello " + name + " at " + addr})
return m.encode("utf-8")
Web Forms - 1
Web Form permite recolher informação no
cliente a enviar para o servidor
Formulário web
<form action="/login">
</form>
Aplicação WEB
class HelloWorld(object):
@cherrypy.expose
def login(self, user, password):
if user == "labi" and password == "batatinhas":
return "Acesso concedido"
else:
return "Acesso Negado"
Biblioteca jQuery
Permite nomeadamente:
selecionar elementos do DOM (baseados no seu: nome;
id; classe; tipo; atributos; valores de atributos; etc ...)
criar animações
processar eventos
Vantagens da utilização da jQuery
Seleção de um elemento
document.getElementById("idname");
$("#idname")[0];
Valor de um elemento
document.getElementById("idname").value;
$("#idname").val();
Processar um evento
$("#idname").on("event", function for event);
Referências
https://www.ietf.org/rfc/rfc2616.txt
https://docs.cherrypy.dev/en/latest/
http://www.w3schools.com/jquery/