PAW

Lic. en Sistemas de Información

PAW

Lic. en Sistemas de Información

Speaker:

Tomás DELVECHIO

tdelvechio@unlu.edu.ar

Servidores Web

Servidores Web

Elemento pasivo del modelo C/S

Servidores Web

Elemento pasivo del modelo C/S

Acceder a un arbol de documentos

Servidores Web

Acceder a un arbol de documentos

Acceder a recursos dinamicos

Servidores Web

Proceso que se ejecuta por tiempo indefinido

Servidores Web

Proceso que se ejecuta por tiempo indefinido

Puerto bien conocido: 80

Servidores Web

Proceso que se ejecuta por tiempo indefinido

Puerto bien conocido: 80

Tambien 443

Servidores Web - Ejemplos

  • Apache2
  • Nginx
  • Tomcat
  • Standalone servers

Servidores Web

Funcionamiento Interno

  • Modulo de Red
  • Resolución de direcciones
  • Procesamiento de la petición
  • Generación de la respuesta
  • Modulo de Red
  • Resolución de direcciones
  • Procesamiento de la petición
  • Generación de la respuesta
  • Modulo de Red
  • Resolución de direcciones
    • Virtual hosting
    • Address Mapping
    • Authentication
  • Procesamiento de la petición
  • Generación de la respuesta
  • Modulo de Red
  • Resolución de direcciones
  • Procesamiento de la petición
    • Contenido Estático
    • Contenido Dinámico
  • Generación de la respuesta
  • Modulo de Red
  • Resolución de direcciones
  • Procesamiento de la petición
  • Generación de la respuesta
    • Cabeceras
    • Cuerpo

Contenido Estático

Recurso previamente existente en el servidor

Contenido Estático


					http://www.example.com/documentos/imagenes/foto1.jpg
				

apunta en server a


					/var/www/web-example/documentos/imagenes/foto1.jpg
				

URL Path: /documentos/imagenes/foto1.jpg

Document Root: /var/www/web-example

Path al contenido = Document Root + URL Path

Contenido Dinámico

Petición requiere de un script o programa para generar respuesta

Respuesta

Headers del server

+ Headers del script

+ Cuerpo de la salida del Script

Contenido Dinámico - CGI

Primer especificación de estandar

1 proceso por petición

Uso de variables de entorno para "alimentar" proceso

FastCGI: Reutilizaba proceso

Apache MPM: Módulos de MultiProcesamiento

Códigos de estado

Si la petición se atiende exitosamente: 200

Si el mapeo del recurso apunta a contenido inexistente: 404

Si falla la autenticación: 401

Si no se tienen permisos suficientes para el recurso: 403

Si ocurre un error al ejecutar un script: 500

Virtual hosting

Multiples sitios y servidores bajo una misma IP

En HTTP 1.1 gracias al Header Host

Si 2 dominios resuelven (por DNS) a la misma IP y Puerto

El header Host permite al web server resolver el recurso