PDF de programación - Sistemas Distribuidos Basados en la WEB

Imágen de pdf Sistemas Distribuidos Basados en la WEB

Sistemas Distribuidos Basados en la WEBgráfica de visualizaciones

Publicado el 3 de Septiembre del 2020
801 visualizaciones desde el 3 de Septiembre del 2020
148,0 KB
18 paginas
Creado hace 14a (07/08/2009)
Sistemas Distribuidos
Basados en la WEB

Andrew Tanembaum
M. L. Liu

Contenido
Introducción
Lenguajes: HTML, XML
El Protocolo: HTTP
Contenido Web Generado en Forma

Dinámica: CGI

Sesiones Web y datos de estado de la

sesión.
Applets
Servlets

Contenido

Servicios web
SOAP

1

Aplicaciones en Internet

La aplicación distribuida más conocida es la

World Wide Web o la Web

Se trata de un sistema distribuido de

servidores HTTP y clientes WEB.

La web nació gracias a Tim Berners-Lee a
finales de 1990 en el CERN, el laboratorio
Europeo de Física de partículas de Suiza.

Aplicaciones en Internet

La idea era permitir que un numeroso y

geográficamente disperso grupo de
investigadores tuviera acceso a documentos
compartidos.

Vinculando los documentos entre sí, fue fácil
integrarlos desde diferentes proyectos en un
nuevo documento sin necesidad de realizar
cambios centralizados.

Arquitectura

El WWW es una aplicación cliente/servidor

basada en el protocolo HTTP (hypertext
Transfer Protocol, Protocolo de Transferencia
de Hipertexto)

Un servidor WEB es un servidor orientado a

conexión que implementa HTTP y que por
defecto ejecuta en el puerto 80.

2

Arquitectura
La parte central de un sitio WEB está

conformada por un proceso que tiene acceso
a un sistema de archivos local que guarda
documentos.

El modo más simple de referirse a un

documento es por medio de una referencia
llamada localizador uniforme de recursos
(URL). El URL especifica la localización del
documento, a menudo incluyendo el nombre
de su servidor.

Arquitectura

Un usuario ejecuta un cliente WWW

(normalmente conocido como navegador) en
una máquina local.

Un navegador es responsable de desplegar

adecuadamente el documento.

También acepta entradas del usuario, en su

mayor parte para permitirle seleccionar
referencias a otro documento, el cual el
navegador busca y despliega.

Client machine

Server machine

Browser

Web server

2. Server fetches
document from
local file

OS

3. Response

1. Get document request (HTTP)

3

Documentos Web

-

Todo en la web llega en forma de
documento.

- Un documento no sólo contiene texto

simple, sino que puede poseer
características dinámicas tales como: audio,
video, animaciones, etc.

- Un documento tiene dos partes: la parte

principal o plantilla y la información en sí. La
parte principal se construye en un lenguaje
de marcas.

HTML

Hypertext Markup Language o Lenguaje de

Marcado de hypertexto, es el lenguaje de
etiquetado (tags) utilizado para crear
documentos que pueden ser recuperados
usando WWW.

HTML permite insertar vínculos a otros

documentos. Cuando se activan o se
seleccionan estos vínculos, el documento
requerido será solicitado al servidor.

Ejemplo Código de HTML

This is a paragraph.
This is a paragraph.
This is a paragraph

<html>
<body>

<p>This is a paragraph.</p>
<p>This is a paragraph.</p>
<p>This is a paragraph.</p>

</body>
</html>

4

Ejemplo Código de HTML



This text is a link to a page on this Web site.
This text is a link to a page on the World Wide
Web.

<html>
<body>

<p>
<a href="lastpage.htm">
This text</a> is a link to a page on
this Web site.
</p>

<p>
<a href="http://www.microsoft.com/">
This text</a> is a link to a page on
the World Wide Web.
</p>

</body>
</html>

XML (lenguaje de marcado
extensible)

Mientras que HTML permite etiquetar un

documento para la presentación posterior de
la información, el XML permite estructurar su
información.

Utiliza etiquetas para describir la información

contenida en el documento.

HTML y XML incluyen toda clase de

señalizaciones que se refieren a documentos
embebidos (empotrados).

Ejemplo XML

<note>
<to>Mary</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

5

Ejemplo XML

<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>
two of our famous Belgian Waffles with plenty of real maple syrup
</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>
light Belgian waffles covered with strawberries and whipped cream
</description>
<calories>900</calories>
</food>
</breakfast_menu>

MIME
Los documentos insertados pueden ser de varios

tipos.

Cada documento insertado lleva un tipo MIME

(multipurpose Internet Mail Interchange) asociado.

Tipo
text
message
application

image
audio
Vídeo

Subtipo
Plain rich text, html, xml, etc.
E-mail, news
Octect-stream (puede usarse para enviar
archivosJava.class) Adobe-postcript, xml
Jpeg, gif
Basic, midi, mp3
Mpeg, quicktime

HTTP
Es un protocolo, orientado a conexión, sin estado y

de petición–respuesta.

En http/1.0 cada conexión sólo permite una ronda

de petición-respuesta: un cliente obtiene una
conexión y manda una petición; el servidor procesa
la petición, emite una respuesta y cierra la conexión.

Los clientes WEB o navegadores implementan el
protocolo, para poder conectarse a los servidores
web y obtener documentos HTML.

Un servidor HTTP o servidor WEB ejecuta por

defecto en el puerto 80.

6

HTTP
Si un cliente necesita contactar al mismo

servidor más de una vez en una misma sesión
debe reconectarse al servidor por cada nueva
petición.

Este esquema trabaja bien si sólo se van a
recibir documentos simples, no obstante, no es
muy eficiente para recibir documentos que
contienen un gran número de enlaces a otros
documentos.

HTTP
Como resultado http/1.0 se extendió para

permitir la cabecera de petición Connection:
Keep-Alive, que es enviada por los clientes que
desean una conexión persistente con el
servidor; el servidor mantiene la conexión
abierta después de enviar la respuesta.

En http/1.1 las conexiones son persistentes por

defecto.

El protocolo, independientemente de si se
mantiene o no la sesión abierta sigue siendo sin
estado. Cada petición se maneja como una
nueva.

HTTP
Http es un protocolo de petición-respuesta

basado en texto, ya que tanto la petición
como la respuesta son cadenas de
caracteres. Cada petición y respuesta están
compuestas, en orden, por las siguientes
partes:
La línea de petición/respuesta
Una sección de cabecera
Una línea en blanco
El cuerpo.

7

Ejemplos

URI Solicitado

Protocolo

Método http

GET /index.html HTTP/1.1
<línea en blanco>

sección de cabecera

Métodos:
GET: para solicitar el contenido de un documento WEB referenciado por el URI
especificado.
HEAD: Para solicitar sólo la cabecera del documento, no el documento completo.
POST: Usado para enviar datos a un proceso servidor.

HTTP

La sección de cabecera puede estar compuesta por

una o más líneas con el siguiente formato:

<clave>: <valor>\r\n
Algunas de las claves son:
- Accept: especifica los tipos de contenido aceptados

por el cliente.

- User-Agent: especifica el tipo de navegador.
- Connection: Se puede especificar “Keep-Alive”
- Host: Nombre del servidor.

Ejemplos

HEAD / HTTP/1.1
Accept:*/*
Connection: Keep-Alive
Host: algunaMaquina.com
User-Agent: Generic
<linea en blanco>

POST /cgi/miServidor.cgi HTTP/1.0
Accept: */*
Connection: Keep-Alive
Host: algunaMaquina.com
User-Agent: Generic
Content-type: application/x-www.form-urlencoded
Content-length: 11
<linea en blanco>
Nombre=jorge&[email protected]

La especificación del tipo de contenido sigue un
esquema establecido en el protocolo conocido
como MIME

8

Códigos devueltos por HTTP

En respuesta a un petición del cliente, el

servidor HTTP debe enviar una respuesta. La
respuesta también se compone de varias
partes:
1. La respuesta o línea de estado
2. Una sección de cabecera
3. Una línea en blanco
El cuerpo.

Códigos devueltos por HTTP

Los códigos de estado son los siguientes:
100-199 Informativo
200-299 Petición del cliente satisfactoria
300-399 Petición del cliente redirigida
400-499 Petición del Cliente incompleta.
500-599 Errores en el servidor.
Ejemplos:

HTTP/1.0 200 OK

HTTP/1.1 404 NOT FOUND

Contenido WEB generado en
forma dinámica

Al principio la web se utilizaba para transmitir

contenido estático: un archivo plano, un archivo con
una imagen.

Según fue evolucionando, las aplicaciones

comenzaron a utilizar http con diferentes propósitos:
El navegador puede recibir datos basados en información
dinámica introducidos durante una sesión. Ejemplo: Una
aplicación web típica, como el carrito de compras requiere
el envío de datos introducidos por el cliente a tiempo de
ejecución.

9

Contenido WEB generado en
forma dinámica
CGI (Interfaz de Compuerta común) define la
forma estándar mediante la cual un servidor
WEB es capaz de ejecutar un programa
(script cgi) tomando los datos de un usuario
como entrada.

En general los datos del usuario provienen

de un formulario html; este formulario
especifica el programa a ser ejecutado del
lado del servidor, junto con valores de los
parámetros.

Contenido WEB generado en
forma dinámica

Cuando el servidor ve la solicitud, inicia el

programa nombrado en la solicitud y
transfiere los valores del parámetro. El
programa realiza su trabajo y, por lo general,
regresa los resultados en la forma de un
documento que podrá desplegar el
navegador donde se encuentra el usuario.

2. Start process to fetch document

1. Get request

5. Return result

HTTP
request
handler

3
  • Links de descarga
http://lwp-l.com/pdf18164

Comentarios de: Sistemas Distribuidos Basados en la WEB (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad