PDF de programación - Introducción a las aplicaciones Web

Imágen de pdf Introducción a las aplicaciones Web

Introducción a las aplicaciones Webgráfica de visualizaciones

Publicado el 1 de Marzo del 2019
323 visualizaciones desde el 1 de Marzo del 2019
818,2 KB
33 paginas
Creado hace 5a (17/02/2014)
Introducción a las aplicaciones Web
Tecnologías de la Web

Aplicaciones Web/Sistemas Web

Juan Pavón Mestras
Dep. Ingeniería del Software e Inteligencia Artificial
Facultad de Informática
Universidad Complutense Madrid

Material bajo licencia Creative Commons

Web - Conceptos básicos

 Lenguajes de marcado

 Texto + etiquetas (marcas, en inglés, tags)
 Las etiquetas proporcionan información adicional acerca de la

estructura del texto o su presentación

 En la Web:

 HTML (HyperText Markup Language)

• Hipertexto: Habilidad de navegar desde un documento a otro a

través de conexiones (hyperlinks o links)

 XHTML (eXtensible HyperText Markup Language)

• HTML expresado como XML válido
• Extiende HTML 4.0 combinando
• HTML diseñado para mostrar datos
• XML diseñado para describir datos

• Puede incluir otros lenguajes (SVG, SMIL, MathML, etc.)

 RDF (Resource Description Framework)
• Framework para metadatos en la Web

 WSDL (Web Services Description Language)

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

2

HTML

 Lenguaje con el que se definen páginas Web

 Permite describir el contenido de una página, incluyendo texto y otros

elementos (imágenes, videos, pequeñas aplicaciones, etc.)

 Texto plano que incluye etiquetas que sirven para indicar un

tratamiento especial
 Meta-información: <meta name="keywords" content="Curso Web, UCM"/>
 Estructura del documento: <head><body><h1>
 Formato: <b>Texto en negrita</b>
 Enlaces a otros objetos: <a href="http://www.ucm.es/">
 Formularios: <form>
 Scripts: <script>

 Versiones actuales:

 HTML 4.01 (W3C, 1999)

• Estandarizado también por ISO en 2000

 HTML 5 (W3C, 17/12/2012)

• Para 2014 se definirán los tests de interoperabilidad
 XHTML 1.1 (2001), actualmente definiéndose XHTML 5

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

Web - Conceptos básicos

 Identificadores de Recursos
 UniformResourceLocator (URL)

• Descriptor del acceso (cómo encontrar) un recurso
• esquema://autoridad/ruta/archivo?solicitud

• Esquema: http, https, ftp, mailto, ldap, file, …
• Autoridad: www.ucm.es

https://cv3.sim.ucm.es/portal/help/main?help=sakai.siteinfo
• Se puede incluir también el puerto

(por defecto 80 para http y 443 para https)

https://cv3.sim.ucm.es:443/portal/help/main?help=sakai.siteinfo

 UniformResourceIdentifier (URI)

• Identificador inequívoco de un recurso

• Definido en RFC 2396

• Más completo que URL, permite identificar una parte del recurso

principal, determinada por el “fragmento”

• esquema://máquina/directorio/archivo?solicitud#fragmento

http://www.sans.org/top25‐software‐errors/#cat1

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

3

4

Web - Conceptos básicos

 Modelo cliente-servidor

 Un cliente demanda servicios o recursos a un servidor a través de una

interfaz, usando un protocolo

petición

Cliente

Servidor

respuesta

HTTP GET www.ucm.es

index.html

Navegador (HTML5,
Applet, Flash, JavaFX)

Servidor web (Apache, lighttpd, …),

servidor de aplicaciones (Jboss,

Resin, Tomcat, Cherokee)

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

5

Funcionamiento

UDP/IP

1

http://www.ucm.es

53

int

com

edu

gov

mil

org

net

jp

us

es

fr

ar



amazon

ooc

sun

acm

ieee

omg

ucm

rediris

uba

java

Servidor DNS

TCP/IP

80

internet

index.html
home.css
jquery.min.js
ucm.png


Servidor web UCM

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

6

Protocolo HTTP

 Protocolo de aplicación para transferencia de hipertexto

 Funciona sobre TCP/IP

 Permite a un navegador (cliente, user agent) solicitar una página

a un servidor y que éste la envíe

 Basado en el envío de comandos y respuestas en texto ASCII

Servidor

80

x

Cliente

y

conexión

1

solicitud

2

respuesta

cierre

3

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

Protocolo HTTP

 Tipos de mensajes

 HTTP/1.0

• GET

• Solicitud de un recurso

• POST

• Envío de datos al servidor para que los procese (p.ej. con un script CGI)
• Ejemplo: datos de un formulario

• HEAD

• Como el GET pero pide al servidor que solo envíe la cabecera de la

respuesta (esto es, que responda sin enviar el objeto requerido)

• Para comprobar características de un recurso sin descargarlo

 HTTP/1.1

• GET, POST, HEAD
• PUT

• Sube archivos en el cuerpo de la solicitud

• DELETE

• Borra el archivo especificado en el campo URL

• Otros: OPTIONS, TRACE and CONNECT

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

7

8

Protocolo HTTP

 Mensajes HTTP

 Línea inicial
 0..n líneas de cabecera
 Línea en blanco (CRLF)
 Cuerpo de mensaje opcional (un fichero, solicitud de datos, datos

resultado de una solicitud)

<línea inicial, diferente para solicitud o respuesta>
Cabecera1: valor1
Cabecera2: valor2
Cabecera3: valor3

<opcional – cuerpo de mensaje, contenido de fichero o datos de query;
puede tener cualquier cantidad de líneas, incluso datos binarios $&*%@!^$@>

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

9

Protocolo HTTP

 Mensajes HTTP - Línea inicial

 Solicitud (request)

• GET /path/to/file/index.html HTTP/1.0

 Respuesta

• HTTP/1.0 200 OK
• HTTP/1.0 404 Not Found

 Códigos de estado típicos

• 200 OK Solicitud existosa – el recurso resultante sigue en el cuerpo
• 400 Bad Request El servidor no entiende la solicitud
• 404 Not Found El recurso solicitado no existe en el servidor
• 301 Moved Permanently
• 302 Moved Temporarily
• 303 See Other (solo en HTTP 1.1) El recurso se ha movido a otro

URL (indicado en la cabecera Location:), y debe ser
automáticamente recuperado por el cliente (redirección)

• 500 Server Error Error inesperado del servidor

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

10

Protocolo HTTP

 Mensajes HTTP – Líneas de cabecera

 Proporcionan información de la solicitud o respuesta
 Estructura: Nombre-cabecera: valor
 Nombre de cabecera

• HTTP 1.0 define 16 (ninguno obligatorio)
• HTTP 1.1 define 46, y requiere al menos una (Host:)

 Por net-politeness (cortesía en la red) el cliente pone las siguientes:

• From: dirección email o programa solicitante
• User-Agent: identifica el programa que hace la petición con la forma:

“nombre-programa/x.xx“
Host:www.ucm.es
User‐Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:11.0) Gecko/20120313 Firefox/11.0

 El servidor suele poner las siguientes:

• Server: identifica el software del servidor "Program-name/x.xx".
• Last-Modified: fecha de modificación del recurso (se usa para

gestioanr las cachés). En Greenwich Mean Time
Content‐Type:text/html; charset=iso‐8859‐1
Date:Fri, 14 Dec 2012 09:23:36 GMT
Server:Apache

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

11

Protocolo HTTP - Ejemplo

 Para recuperar el fichero en el URL

http://www.dominio.com/path/fichero.html

 Solicitar una conexión en el puerto 80 del host www.dominio.com
 Enviar a través del nuevo socket el siguiente texto:

GET /path/fichero.html HTTP/1.0
From: usuario@ucm.es
User‐Agent: HTTPTool/1.0
[línea en blanco CRLF]



La respuesta del servidor llegará por el mismo socket:

HTTP/1.0 200 OK
Date: Wed, 12 Dec 2012 12:09:34 GMT
Content‐Type: text/html
Content‐Length: 1354

<html>
<body>
<h1>Bienvenido al curso de la Web</h1>
(resto del contenido)

.
.

</body>
</html>

 Tras enviar la respuesta el servidor cierra el socket

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

12

Seguridad con HTTPS

 HTTPS (Hypertext Transfer Protocol Secure)

 Permite que la información sensible (datos de usuario, passwords,
pagos, etc.) no pueda ser interceptada durante la transferencia de
datos

 La información viaja por un canal cifrado sobre SSL/TLS

• TLS (Transport Layer Security) es el protocolo estandarizado por

IETF (RFC 2246), basado en SSL (Secure Sockets Layer)
• Última versión: TLS 1.2 (RFC 5246, 2008)

• Usa

• Criptografía asimétrica (sistema de clave pública) para acordar el protocolo

y claves de sesión

• Criptografía simétrica para el intercambio confidencial de información
• Códigos de autenticación de mensajes para la integridad de los mensajes

• Requiere que el servidor tenga un certificado digital

• Normalmente debe estar firmado por una Autoridad de certificación para

que el navegador web lo acepte

 Para utilizar HTTPS el servidor recibe las conexiones en el puerto 443

(por defecto)

 La URL indica el uso de este protocolo: https://...

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

13

Protocolo HTTP – Ejercicios

 Experimentar el protocolo HTTP usando telnet (en Unix)

 telnet www.dominio.com 80

$ telnet www.google.es 80
Trying 212.106.221.27...
Connected to www.google.es.
Escape character is '^]'.
HEAD / HTTP/1.1
Host: www.google.es

No olvidar dejar línea en blanco

HTTP/1.1 200 OK
Date: Fri, 01 Mar 2013 15:54:35 GMT
Expires: ‐1
Cache‐Control: private, max‐age=0
Content‐Type: text/html; charset=ISO‐8859‐1
Set‐Cookie: PREF=ID=8730c30ca4e6210e:FF=0:TM=1362153275:LM=1362153275:S=lr3Lm912j2Rdd2mS; 
expires=Sun, 01‐Mar‐2015 15:54:35 GMT; path=/; domain=.google.es
Set‐Cookie: NID=67=e839boWwCqTrzsUkPjpafLY_5vLVoYBWhX7bWejx8RvmRylUJDbLCKFEh0jwpu0LtySsKu‐
AYG0z5rvinJoYwzjLXbDgE4nHmXQIrsVJwrT2WUyeQH1mITNowDsJJ_oo; expires=Sat, 31‐Aug‐2013 15:54:35 GMT; 
path=/; domain=.google.es; HttpOnly
P3P: CP="This is not a P3P policy! See
http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X‐XSS‐Protection: 1; mode=block
X‐Frame‐Options: SAMEORIGIN
Transfer‐Encoding: chunked

Connection closed by foreign host.
$

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

14

Protocolo HTTP – Ejercicios

 Escribir un programa Java sencillo que implemente un cliente de

HTTP
 Usa las clases del paquete java.net y java.io
 Otra alternativa más directa es usar la clase JEditorPane que puede

interpretar código HTML

Juan Pavón - UCM 2013-14

Aplicaciones Web / Sistemas Web

15

Cookies

 HTTP
  • Links de descarga
http://lwp-l.com/pdf15388

Comentarios de: Introducción a las aplicaciones Web (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad