Introduccin a los servicios y servidores de informacin en Internet' Servidores de Informacin y Tecno - PowerPoint PPT Presentation

1 / 71
About This Presentation
Title:

Introduccin a los servicios y servidores de informacin en Internet' Servidores de Informacin y Tecno

Description:

Servidores de Informaci n y Tecnolog as Actuales. 2. ndice general ... Options Indexes FollowSymlinks MultiViews. AllowOverride None. Order allow,deny. Allow from all ... – PowerPoint PPT presentation

Number of Views:302
Avg rating:3.0/5.0
Slides: 72
Provided by: diUn7
Category:

less

Transcript and Presenter's Notes

Title: Introduccin a los servicios y servidores de informacin en Internet' Servidores de Informacin y Tecno


1
Introducción a los servicios y servidores de
información en Internet. Servidores de
Información y Tecnologías Actuales
2
Índice general
  • Introducción a Servidores de Información.
  • Tecnologías usadas en la parte Cliente.
  • Html y JavaScript
  • Applets
  • Cookies
  • Tecnologías usadas en la parte Servidor.
  • CGI
  • APIs
  • ASP
  • PHP
  • Servlets
  • JSP
  • XML

3
Introducción a los Servidores de Información
Índice
  • URL, URI y URN
  • Arquitectura del web
  • El navegador (web browser)
  • El servidor web
  • Arquitectura de las aplicaciones web
  • Apache
  • ISS
  • Páginas estáticas vs Páginas dinámicas

4
Introducción a los Servidores de Información
URL,URI y URN
  • URI identificador uniforme de recursos Es un
    miembro del conjunto universal de nombres, en un
    cierto espacio de nombres y con una dirección
    referida a un cierto protocolo, ambos previamente
    registrados.
  • URL
  • Localizador Uniforme de Recursos Es
    básicamente un caso particular de URI que expresa
    una dirección, mapeada a un algoritmo de
    recuperación del objeto que son protocolos de
    comunicación a través de la red

5
Introducción a los Servidores de Información
URL,URI y URN
  • URN(Nombre Uniforme de Recurso) Sistema de
    identificación de recursos cuya intención es
    sustituir al sistema URI/URL. Es algo que aún
    está en debate y que pretende definir un espacio
    de nombres para etiquetar objetos persistentes.

6
Introducción a los Servidores de Información
Arquitectura del Web
  • Para abrir una página en el navegador, se teclea
    su URL o se utiliza un enlace a la misma
  • Una vez enviada esta petición y el servidor web
    la ha recibido, éste localiza la página y la
    envía de vuelta al navegador
  • Finalmente, el navegador muestra la página

7
Introducción a los Servidores de Información El
navegador (web browser)
  • El navegador es algo así como una interfaz de
    usuario universal
  • Las responsabilidades del navegador consisten en
  • Presentar el contenido de las páginas
  • Realizar solicitudes a los servidores web
  • Gestionar todos los resultados derivados de una
    solicitud
  • En los últimos años se han producido grandes
    avances en el mercado de los navegadores, debidos
    básicamente a la batalla entre Netscape y
    Microsoft
  • Así, por ejemplo, el navegador es capaz de
    ejecutar aplicaciones en el mismo contexto que la
    página que se está viendo Microsoft ActiveX y
    applets de Java

8
Introducción a los Servidores de Información El
servidor web
  • El servidor web es el corazón de toda interacción
    en el web
  • Se trata de un programa que se ejecuta en el
    servidor y espera la llegada de peticiones,
    sirviéndolas en el momento en que las recibe
  • Dependiendo del tipo de petición, el servidor web
    puede buscar una página web o bien puede ejecutar
    un programa
  • En cualquier caso, siempre devolverá algún tipo
    de resultado al navegador que realizó la petición
  • En la actualidad, el servidor web Apache es el
    más popular, debido a que se proporciona como
    software libre y está disponible en múltiples
    plataformas
  • Sin embargo el IIS también ha adquirido
    relevancia, debido a que viene con el S.O Windows

9
Introducción a los Servidores de Información
Arquitectura de las aplicaciones web
  • Una aplicación web sigue, típicamente, un modelo
    de 3 niveles
  • El primer nivel es la capa de presentación que
    incluye el navegador y el servidor web
  • El segundo nivel es la capa de aplicación y toma
    la forma de un programa
  • El tercer nivel proporciona al segundo los datos
    que necesita

10
Páginas estáticas vs. Páginas Dinámicas
  • Páginas Web estáticas
  • Una vez cargadas en el cliente (navegador) su
    contenido es inalterable.
  • No tienen interactividad con el usuario
  • Su objetivo Compartir información por la red.

11
Páginas estáticas vs. Páginas Dinámicas (cont.)
  • Páginas Web dinámicas
  • Surgen debido a la necesidad de dotar más
    dinamismo a la red.
  • Su contenido se modifica de forma autónoma o
    debido al resultado de la interacción con el
    usuario
  • Ejemplo El usuario desea saber el significado de
    una palabra. Lo que hace es introducir la palabra
    a buscar en un formulario y posteriormente en la
    página siguiente recibe el significado de esa
    palabra.
  • En el servidor se arranca un script o programa
    que busca en la base de datos la palabra a buscar
    y construye una página Web con el significado de
    la palabra y devuelve dicha página.

12
Introducción a los Servidores de Información
Apache
  • Instalación
  • Configuración del modo de funcionamiento.
  • Configuración de un sitio Web .
  • Seguridad de un sitio
  • Capacidad SSL

13
Apache Instalación(I)
  • www.apache.org
  • Se pueden bajar los binarios (.exe)
  • Versión que vamos a utilizar Apache 1.3.23
  • Fuentes y compilarlos en Windows
  • Ayuda para hacerlo en http//www.glin.com.mx/apach
    e/windows.htm
  • Requerimientos de instalación
  • Tener instalado el TCP/IP
  • Si se instala en Windows 95 tener el Winsock2

14
Apache Instalación(II)
  • Pantallas determinantes
  • Instalar como servicio o arrancar
    manualmente(crear acceso directo)
  • Tipo de Instalación
  • Custom Instala la documentación y/o los binarios
  • Completa Instala la documentación y los binarios
    (requiere más espacio)
  • Sitio donde quieres instalarlo (donde tengas
    espacio)

15
Apache Configuración del modo de funcionamiento
  • Arrancarlo
  • Como servicio
  • Manualmente desde la consola
  • Pararlo
  • Apache k Shutdown
  • También se puede cerrar la ventana, pero no es
    conveniente ya que pueden quedar transacciones
    sin terminar.
  • Probar su funcionamiento
  • http//nombreequipo

16
Apache Configuración de un Sitio
Web(I)Estructura de Carpetas
  • Bin Carpeta donde guarda .exe. Por ejemplo
    htpasswd.exe crea un usuario.
  • Cgi-bin Lugar donde guardamos los cgis.
  • Conf Contiene los ficheros de configuración
  • Icons Guarda las imágenes de nuestras páginas
    Web.
  • Logs guarda ficheros de información
  • Modules Carpeta con módulos que se añaden al
    Apache.

17
Apache Configuración de un Sitio
Web(II)Ficheros de Configuración
  • Hay tres ficheros
  • Access.conf (No se usa)
  • Srm.conf(No se usa)
  • Httpd.conf (tiene lo de los dos anteriores)
  • Cuando se modifica algún fichero de configuración
    se hace una copia de él en los .default

18
Apache Configuración de un Sitio Web(II)
  • Directivas del fichero httpd.conf
  • ServerName Nombre con el cual los clientes
    referencian al servidor Web
  • ServerRoot Directorio raiz a partir del cual el
    servidor busca el fichero de configuración, de
    errores y de log.
  • DocumentRoot Directorio en el cual el servidor
    busca los documentos html que el cliente
    solicita.
  • Alias Sobrenombre que ponemos a una ruta de
    nuestro sitio Web y que añadimos al final de la
    URL

19
Apache Configuración de un Sitio Web(III)
  • Creación del alias InteliRed
  • Directiva a buscar
  • ltIfModule mod_alias.cgt
  • Alias sobrenombre ruta
  • Alias /InteliRed/ "C/serWeb/htdocs/
  • Permisos de la carpeta
  • ltDirectory "C/serWeb/htdocs"gt
  • Options Indexes FollowSymlinks MultiViews
  • AllowOverride None
  • Order allow,deny
  • Allow from all
  • lt/Directorygt

20
Apache Seguridad de un Sitio Web(I)
  • SSL es una especificación para la definición de
    canales seguros sobre TCP.
  • Objetivo principal de SSL Realizar conexiones
    seguras a servidores WWW que permitieran enviar
    números de tarjetas de crédito a través de un
    formulario
  • SSL se compone de dos capas
  • La capa de más bajo nivel (SSL Record Protocol)
    Encapsula los protocolos de nivel más alto
  • La capa segunda (SSL Handshake) Negocia los
    algoritmos de encriptación, así como la
    autentificación entre el cliente y el servidor.

21
Apache Seguridad de un Sitio Web(II)
  • Técnicas Criptográficas
  • Algoritmos Criptográficos
  • Convencionales o criptografía simétricaSólo (y
    nadie más) el emisor y receptor tienen la clave
    secreta con la que se pueden leer el mensaje.
    Problema Hay que elegir una clave antes de
    comunicarse.
  • Criptografía por clave pública o Criptografía
    asimétrica Una clave se utiliza para encriptar
    el mensaje y otra para desencriptarlo.
    Cualquiera puede encriptar el mensaje utilizando
    la clave pública, pero sólo el propietario de la
    clave privada puede leerlo.
  • Resumen de Mensajes Crear un resumen conciso del
    mensaje a enviar y enviarlo junto al mensaje. En
    la recepción, el receptor crea su propio resumen
    y lo compara con el recibido. Si ambos son
    iguales, el mensaje recibido está intacto.

22
Apache Seguridad de un Sitio Web(II) Cont.
  • Técnicas criptográficas (cont)
  • Firmas digitales El emisor firma el mensaje de
    manera que el receptor se asegura que el mensaje
    es del emisor y no de otra persona.
  • Certificados Aseguran que el emisor y receptor
    se han comunicado. El emisor necesita saber que
    la clave pública que está utilizando se
    corresponde con la clave privada del receptor.
    Además el receptor ha de asegurarse que quien
    envía el mensaje es el emisor. Cada parte poseé
    un certificado que valida la identidad del otro,
    confirma la clave pública, y el certificado está
    firmado por una agencia fiable. Las agencias
    fiables se les denominan Autoridad Certificadora

23
Apache Capacidad SSL(I)
  • Dos manera de añadir SSL al Apache
  • Apache-SSL creado por Ben Laurie
  • Mod_ssl Creado por Ralf S. Engelschall y deriva
    del Apache-SSL. Este módulo se puede utilizar
    libremente. Proporciona una fuerte criptografía
    para el Apache, a través de los protocolos SSL y
    TSL que usan la librería OpenSSL.
  • OpenSSL librería que utilizaremos para crear el
    certificado de nuestro sitio.

24
Apache Capacidad SSL(II) Mod_ssl
  • Pasos para la instalación del módulo mod_ssl
  • Cambiar los siguientes parámetros del archivo
    pathdelapache\conf\httpd.conf
  • Port 443
  • Listen 80
  • Listen 443 (443Puerto en el que escucha el
    servidor las peticiones seguras).
  • ServerName nombredelequipo
  • Hacer una copia del fichero httpd.conf
  • Probar http//nombreservidor443
  • Descomprimir el archivo Apache_1.3.23-Mod_SSL_2.8.
    6-OpenSSL_0.9.6c-WIN32.zip
  • Sobreescribe algunos ficheros , entre ellos el
    httpd.conf.
  • Copiar los archivos ssleay32.dll y libeay32.dll
    del directorio Apache\openssl\bin al directorio
    WINNT\system32 si el S.O es Windows 2000 o NT

25
Apache Capacidad SSL(III) Mod_ssl
  • Creación de Certificado Seguir los pasos
    siguientes
  • Creación de certificado de requisición de firma y
    una clave privada
  • Openssl req config openssl.cnf new out
    nombreservidor.csr
  • Hay que contestar una serie de preguntas como el
    nombre, organización, etc.
  • Borrar la contraseña de la clave privada creada
    en el paso anterior
  • Openssl rsa in privkey.pem out
    nombreservidor.key
  • Creación de certificado (casero). Este
    certificado no tiene validez oficial. Ha de
    instalarse en los equipos que quieran utilizarlo.
  • Openssl x509 in nombreservidor.csr out
    nombreservidor.cert req signkey
    nombreservidor.key days 365
  • Crear la carpeta path Apache\conf\ssl y mover
    los archivos nombreservidor.key y miservidor.cert
    en él.

Duración en días del certificado
26
Apache Capacidad SSL(IV) Mod_ssl
  • Configuración Apache mod_ssl Pasos
  • Si el Apache está arrancado , hay que pararlo!
  • Coger la copia del fichero httpd.conf que se hizo
    en un paso anterior y renombrarla con httpd.conf.
  • Localizar la directiva LoadModule del httpd.conf
    y añadir al final de los existentes
  • LoadModule ssl_module modules/mod_ssl.so
  • Localizar la directiva ClearModuleList del
    httpd.conf y añadir al final de las existentes
  • AddModule mod_ssl.c

27
Apache Capacidad SSL(V) Mod_ssl
  • Añadir la final del fichero
  • //para más información acerca de las directivas
  • //que vienen a continuación en www.modssl.org
  • SSLMutex sem
  • SSLRandomSeed startup builtin
  • SSLSessionCache none
  • SSLLog logs/ssl.log
  • SSLLogLevel info
  • ltVirtualHost pcipuerto443gt
  • SSLEngine on
  • SSLCertificateFile conf/ssl/pcipuerto.cert
  • SSLCertificateKeyFile conf/ssl/pcipuerto.key
  • lt/VirtualHostgt

Nombre servidor
28
Apache Capacidad SSL(VI) Mod_ssl
  • Funcionamiento
  • Arrancar el apache.
  • Poner https\\nombreservidor en la barra de
    dirección del navegador
  • Resultado

29
Apache Capacidad SSL(VII) Mod_ssl
  • Si en la pantalla anterior pulsamos el tercer
    botón, podemos ver el certificado que hemos
    creado
  • Si pulsamos en Instalar Certificado, el
    certificado se instalará en nuestra máquina
    cliente en el Almacén de Certificados que tiene
    por defecto (si no se le indica lo contrario) y
    que se denomina Entidades Emisoras de
    Certificados de raíz de Confianza.
  • Para ver certificados Instalados y las Entidades
    de Confianza en nuestra máquina cliente
  • Abrir Navegador
  • EscogerHerramientasgtOpcionesgtContenidogtCertificad
    osgt Entidades Emisoras de Certificados de raíz de
    Confianza.
  • Aparece una lista en la que ha que aparece el
    nombre del certificado.

30
Jakarta-TomcatTipos de Configuración
  • Qué es ?
  • Es un servidor de páginas dinámicas . También se
    le puede añadir seguridad.
  • Tipos de configuración
  • Se puede instalar de modo aislado (alone) El
    propio servidor quien servirá todas las
    peticiones web, ya sean éstas de contenido HTML
    estático, o dinámico.
  • La instalación de Tomcat en conjunción con el
    Apache Es más eficiente ya que el Apache
    serviría las páginas Estáticas y el Tomcat las
    dinámicas.
  • El primer tipo de configuración no se
    recomienda ya que el rendimiento del Tomcat como
    servidor de páginas estáticas no es muy
    eficiente.

31
Jakarta-TomcatInstalación (I) Alone
  • Instalación Alone Se han de seguir los pasos
    siguientes
  • Descomprimir el fichero jakarta-tomcat-4.0.3.zip
  • Crear las siguientes variables de entorno
  • (panel de control-gtSistema-gtAvanzado-gtVariables
    de Entorno)

32
Jakarta-TomcatInstalación(II)Alone
  • JAVA_HOMEpath jdk1.3
  • TOMCAT_HOMEpath Tomcat
  • Modificar de la misma forma la variable de
    entorno classpath añadiendo
  • Classpathc\jdk1.3\libltpathTomcatgt\common\lib\se
    rvlet.jar
  • Visualización de variables de entorno después de
    introducirlas

33
Jakarta-TomcatFuncionamiento (I) Arrancar Tomcat
  • Para hacer funcionar el Tomcat como servidor
    seguir los pasos siguientes
  • Ejecutar el fichero startup.bat que está en la
    carpeta bin del Jakarta-Tomcat.
  • Probar http//nombreservidor8080. El resultado
    que se ha de obtener es la siguiente pantalla

Puerto de escucha peticiones dinámicas
34
Jakarta-TomcatFuncionamiento(II)Parar Tomcat
  • Para parar el Tomcat
  • Ejecutar el fichero shutdown.bat de la carpeta
    bin del Jakarta-Tomcat.
  • 8080 es el puerto de peticiones dinámicas.
  • Se puede cambiar para que escuche sobre el puerto
    80 (puerto de peticiones HTTP). Para ello buscar
  • Parar el Tomcat
  • Buscar en el fichero Path Jakarta-Tomcat\conf\se
    rver.xml
  • lt!--Define a non-SSL HTTP/1.1 Connector on port
    8080--ltConnector
  • ClassName"org.apache.catalina.connector.http.Http
    Connector
  • port8080" minProcessors"5" maxProcessors"75"
    enableLookups"true"
    redirectPort"8443"
    acceptCount"10" debug"0" connectionTimeout"6000
    0"/gt
  • Donde pone port8080 poner port80.
  • Arrancar Tomcat.

35
Jakarta-TomcatInstalación (III) Comunicación con
el Apache
  • ObjetivoLas páginas estáticas las sirva el
    Apache (en el puerto 80) y las que son dinámicas
    (servlets y JSP) las sirva el Tomcat(en el puerto
    8080).
  • Comunicación del Jakarta-Tomcat con el Apache
    Pasos a seguir
  • Realizar (si no están hechos) los pasos de la
    Instalación de modo Alone.
  • Instalar el módulo mod_webapp
  • Descomprimir el archivo webapp-module-1.0-tc40-win
    dows.zip
  • Copiar libapr.dll en la carpeta c\winnt\system32
  • Copiar libapr.dll y mod_webapp.so en la carpeta
    modules del Apache.

36
Jakarta-TomcatInstalación (IV) Comunicación con
el Apache
  • Configuración en el Apache
  • Editar el fichero httpd.conf
  • Añadir las siguientes líneas al final de la
    sección LoadModule
  • LoadModule webapp_module modules/mod_webapp.so
  • En la sección ClearModuleList añadir
  • AddModule mod_webapp.c
  • Añadir la siguientes líneas al final del fichero
    httpd.conf
  • WebAppConnection warpConnection warp
    localhost8008
  • WebAppDeploy examples warpConnection /examples/
  • WebAppInfo /webapp-info
  • Arrancar el Tomcat primero y después el Apache y
    probar la siguiente dirección
    http\\nombreservidor

37
Introducción a los Servidores de Información ISS
  • Instalación
  • Configuración como Servicio del S.O
  • Configuración de un sitio Web.

38
ISS (Instalación)
  • El servidor de Microsoft viene incorporado con
    el propio Sistema Operativo Windows NT o Windows
    2000.
  • Se puede instalar al instalar el S.O o bien se
    puede instalar aparte.
  • Requisitos de la instalación
  • Un equipo que ejecute Windows NT o 2000 con
    TCP/IP
  • Espacio en el disco suficiente. Utilizar el
    sistema de ficheros NTFS.

39
ISS (Configuración de modo de funcionamiento(I))
  • Utilizar el Administrador de Servicios de
    Internet.
  • El Administrador de Servicios de Internet está en
    Panel de Control-gtHerramientas Administrativas.

Equipos en Red
Servicios Disponibles
40
ISS (Configuración de modo de funcionamiento(II))
  • El IIS dispone de los siguientes servicios
  • Servicio WWW Servicio de publicación de
    contenidos en la red.
  • Servicio FTP Servicio de transferencia de
    ficheros.
  • Servicio SMTP
  • El IIS permite Iniciar, detener o poner en modo
    de pausa un servicio.
  • Para ver las propiedades de un servicio o equipo
    haga doble clic sobre él.
  • Para ver si el servicio WWW funciona
  • Abrir navegador
  • Poner en la URL http//localhost

41
ISS (Configuración de un Sitio Web(I))
  • Alias

Alias existentes en el sistema y su ruta
42
ISS (Configuración de un Sitio Web(II))
  • Creación de alias
  • Crear el alias InteliRed para la carpeta
    c\SerWeb\htdocs.
  • Sacar propiedades de la carpeta c\SerWeb\htdocs
  • Compartir esa carpeta
  • Pulsar agregar.

43
ISS (Configuración de un Sitio Web(II))
3. Poner un alias 4. Poner permisos de acceso a
esa carpeta. 5. Probar http//nombresservidor/Inte
liRed/prueba.html
44
Tecnologías en la Parte Cliente.Html
  • HTML
  • Lenguaje para crear documentos Web. Es un
    lenguaje de marcas.
  • Cuando se hace una petición, el servidor si tiene
    ese documento lo sirve, pero no guarda ninguna
    información de estado acerca de él.
  • Ejercicio Crear una página HTML que diga Hola a
    todos!.
  • Código Ejecución

45
Tecnologías en la Parte Cliente.
JavaScript
  • Lenguaje (no etiquetas) que extiende la
    funcionalidad del cliente.
  • ObjetivoDescargar al servidor de la ejecución de
    pequeñas tareas que se pueden hacer en el
    cliente. Por ejemplo comprobar si una fecha es
    correcta o comprobar si los campos de un
    formulario son completos.
  • Se incrusta dentro del código HTML con la
    etiqueta ltscriptgt lt/scriptgt
  • Ejemplo Hacer un script que diga !Hola a todos!
  • Código Ejecución

46
Tecnologías en la Parte Cliente.
Applets
  • Definición Es una pequeña aplicación accesible
    en un servidor Internet, que se descarga por la
    red, y se ejecuta en el cliente (navegador) como
    parte de un documento web.
  • Se hacen en Java
  • Van incrustados en el código HTML
  • Ejercicio Applet que diga Hola a todos!
  • Código Java Código HTML Ejecución

47
Tecnologías en la Parte Cliente.
Cookies (Qué son?)
  • Qué son?
  • Una cookie no es más que un fichero de texto que
    algunos servidores piden a nuestro navegador que
    escriba en nuestro disco duro, con información
    acerca de lo que hemos estado haciendo por sus
    páginas.
  • Se almacenan en el disco duro del usuario ,
    liberando al servidor de una importante
    sobrecarga. Es el propio cliente quien almacena
    la información y se la enviará al servidor cuando
    éste la solicite.
  • Se usan principalmente para guardas las
    preferencias del usuario.
  • Para encontrarlas basta que Pulses Inicio,
    selecciones Buscar y luego Archivos o carpetas,
    escribe cookie
  • Visualiza una cualquiera con el WordPad , Qué
    ves?

48
Tecnologías en la Parte Cliente.
Cookies (Qué son?)(cont)
  • Componentes mínimos de una cookie
  • nombre valor expires fechaCaducidad
  • Donde nombre es el nombre del dato almacenado
  • y valor el valor de ese dato.
  • La fecha de caducidad es un parámetro opcional
    que indica el tiempo que se conservará la cookie.
    Si no se especifica el valor de expires, la
    cookie caduca cuando el usuario sale de la sesión
    en curso con el navegador. Por consiguiente, el
    navegador conservará y recuperará la cookie sólo
    si su fecha de caducidad aún no ha expirado.
  • Más componentes
  • Un dominio, un camino , etc
  • Todo estos datos están dentro de un fichero de
    texto , y a veces aparecen bastante crípticos.

49
Tecnologías en la Parte Cliente.Cookies (Cómo
configurar el navegador para aceptarlas?)
  • El navegador se puede configurar para que acepte
    automáticamente las cookies (configuración por
    defecto) o bien que pregunte si deseas o no
    aceptarlas
  • Para ello ir a Herramientas -gtOpciones-gtSeguridad

Escoger una zona en la cual se ha de establecer
la seguridad y pulsar Personalizar nivel
50
Tecnologías en la Parte Cliente.Cookies (Cómo
configurar el navegador para aceptarlas?) (Cont)
  • La configuración por defecto es permitir aceptar
    las cookies.

51
Tecnologías en la Parte Cliente.Cookies (Cómo
configurar el navegador para aceptarlas?) (Cont)
  • Si cambiamos la configuración y seleccionamos
    Pedir datos en Habilitar Cookies propias de cada
    sesión no almacenada y Permitir que las cookies
    se almacenen en nuestro equipo, cada vez que una
    página Web pretenda instalar una cookie en
    nuestro equipo, nos aparece la siguiente
    pantalla

Pulsando en No, puede que no te permita
visitar(no siempre) el Sitio Web. Si pulsas en
Más información te muestra de que cookie se trata
y si pulsas en Sí, instala la cookie.
52
Tecnologías en la Parte Cliente.
Cookies (Ejemplo)
  • Ejemplo EjCookie.txt
  • Cambiar el nivel de Seguridad en el Sitio de
    Intranet para que te pregunte si desea instalar
    la Cookie.
  • Ejecutar el archivo
  • https\\nombreServidor\InteliRed\EjCookie.htm
  • EjCookie.htm
  • Ir a otro sitio Web
  • Volver a https\\nombreServidor\InteliRed\EjCookie
    .htm
  • Porqué no te pregunta el nombre?

53
Tecnologías en la parte Servidor Obtención de los
datos(I)
  • El primer paso de una aplicación web suele
    consistir en la obtención de algunos datos del
    usuario
  • Tradicionalmente, se ha hecho con un formulario
    HTML
  • El usuario introduce la información en los campos
    del formulario y pulsa un botón de envío (submit)

54
Tecnologías en la parte Servidor Obtención de los
datos(II)
ltBODYgt ltFORM METHOD"GET" ACTION"/cgi-bin/met.c
gi"gt ltBgt Introduzca su nombre lt/Bgt ltINPUT
TYPE"NAME" NAME"NAME"gt ltBRgt ltBgt Introduzca
su password lt/Bgt ltINPUT TYPE"PASSWORD"
NAME"PASSWORD"gt ltHRgt ltINPUT TYPE"SUBMIT"
NAME"ENVIAR"gt lt/FORMgt lt/BODYgt
55
Tecnologías en la parte ServidorEnvío de
peticiones al servidor webProtocolo HTTP
  • Con el fin de poner en acción al servidor web y
    que ejecute un programa de servidor, el navegador
    tiene que empaquetar los datos del usuario y
    realizar una petición HTTP al servidor web
  • Una petición HTTP está formada por
  • El URL de la página o script que el usuario
    quiere acceder
  • Los datos del formulario (si se introdujo alguno)
  • Información adicional de cabecera información
    del navegador, longitud y tipo de la petición,
    etc.
  • La petición es generada de manera transparente
    por el navegador, pero es interesante saber cómo
    se construye y se utiliza

56
Tecnologías en la parte ServidorMétodos get y
post
  • Cada petición debe especificar qué método de
    petición utiliza. Los más comunes son
  • HEAD obtiene únicamente información del
    documento
  • GET usado para solicitar la ejecución de un
    programa web
  • Todos los datos del formulario introducidos se
    añaden a la cadena que forma la petición
  • Los datos se añaden utilizando parejas
    clavevalor
  • http//www.cualquiera.com/cgi-bin/hello.cgi?nombre
    Maria
  • La petición anterior ejecutaría un script
    denominado hello.cgi del directorio cgi-bin del
    servidor www.cualquiera.com y le pasaría el valor
    Maria para la variable nombre
  • GET es el método por defecto para las peticiones
  • Problemas (1) la longitud de los datos está
    limitada (2) posibilidad de encontrarse el URL
    en la caché del navegador

57
Tecnologías en la parte Servidor Métodos Get y
Post (cont.)
  • POST usado para solicitar la ejecución de un
    programa web
  • Empaqueta los datos del formulario como parte del
    cuerpo de la petición (y no en el URL)
  • El programa servidor podrá acceder al contenido
    del cuerpo de la petición y buscar los nombres de
    variable y sus valores
  • POST siempre permite el envío de más datos que
    GET
  • Además, siempre envía la petición al servidor, en
    lugar de mirar en la caché del navegador
  • Qué método usar?
  • En la mayor parte de los casos, es indiferente
  • Idealmente, una petición GET se usaría para
    obtener información del servidor
  • POST se utilizaría si la petición fuese a
    actualizar datos en el servidor

58
Tecnologías en la parte Servidor Ejecución del
programa servidor y devolución del resultado
  • El servidor web empieza determinando el tipo de
    entorno que necesita para ejecutar el
    programa/script servidor, consultando información
    de configuración script CGI, JSP, servlet, etc
  • A continuación, carga el entorno de ejecución
    adecuado y le deja accesible la información de la
    petición
  • El paso final consiste en la creación de algún
    tipo de respuesta y su envío al navegador
  • El navegador recibirá la respuesta y determinará
    su tipo para saber cómo mostrarla
  • El tipo más habitual es HTML, pero el servidor
    puede devolver XML, texto sin formato, GIFs, etc.

59
Tecnologías en la parte Servidor Desarrollo de
aplicaciones servidoras
Un programa servidor es un programa cualquiera,
con unas pocas pero importantes excepciones Para
hacer un programa accesible a un servidor web,
debe poseer las siguientes características El
programa tiene que ser invocable desde el
servidor web Tiene que haber alguna manera en que
el servidor pase los datos del formulario al
programa Una vez que el programa ha sido
invocado, debe existir un punto de entrada
estándar Una vez que el programa ha procesado los
datos, empaquetará los resultados y se los
enviará al servidor web, el cual, a su vez, se
los enviará al navegador
60
Tecnologías en la parte ServidorTecnologías para
el servidor(CGI)
  • CGI (Common Gateway Interface)
  • La más común de todas
  • Los programas se pueden escribir prácticamente en
    cualquier lenguaje (el más popular es Perl o C)
  • Crea un proceso separado para cada petición
  • Ejemplo Cuando tenemos que conectar una base de
    datos, abrimos la conexión con la base de datos
    en un script y en ese mismo script se cierra la
    conexión a la base de datos.
  • Devuelve un página HTML.
  • No guarda información de estado.

61
Tecnologías en la parte ServidorTecnologías para
el servidor(CGI) (Cont)
  • Ejercicio Diferencia entre get y post
  • Parar el Apache y el Tomcat (si está arrancado)
  • Abrir el fichero PathApache\conf\http.conf y
    modificar la directiva ScriptAlias y Directory,
    poniendo
  • ScriptAlias /cgi-bin/ "C/serWeb/cgi-bin/"
  • ltDirectory "C/serWeb/cgi-bin"gt
  • AllowOverride None
  • Options None
  • Order allow,deny
  • Allow from all
  • lt/Directorygt
  • Realizar el código
  • Código Util.c Código Met.c Código get Código
    post
  • Colocar met .exe resultado de Compilar el fichero
    Met.c en la misma carpeta donde hemos creado
    ScriptAlias y renombrarlo con la extensión .cgi .
  • Ejecutar Ejecución get Ejecución post
  • Qué diferencia encuentras entre get y post?

Path donde están los .cgi
62
Tecnologías en la parte Servidor
Tecnologías para el servidor(APIs)
  • APIs propietarias (ISAPI, NSAPI)
  • Con el fin de eliminar las ineficiencias de CGI,
    Microsoft y Netscape desarrollaron sus propias
    APIs para escribir aplicaciones servidoras como
    librerías compartidas
  • Permiten que haya respuestas dinámicas a las
    peticiones HTTP, en lugar de simplemente devolver
    archivos HTML estáticos.
  • Ejemplo ISAPI http//mickey.ing.unap.cl/samples/i
    sapi/isapi.htm
  • Los scripts se cargan como parte del servidor y
    pueden tener acceso a toda su funcionalidad.
  • Son DLLs que se ejecutan en el mismo espacio de
    direcciones (no se crea un proceso para cada
    petición). Solo se carga una copia de cada script
    en el servidor y es compartida por diferentes
    peticiones.

63
Tecnologías en la parte Servidor
Tecnologías para el servidor(APIs)(cont.)
  • APIs propietarias (ISAPI, NSAPI)
  • Ventajas
  • Mejor rendimiento
  • Menos consumos de recursos
  • Aumento de la seguridad.
  • Desventajas
  • Son específicas para plataformas particulares
  • Pueden hacer caer al servidor web
  • Exigen programadores expertos en el servidor y en
    técnicas de programación como manejo de
    excepciones, sincronización, etc.

64
Tecnologías en la parte Servidor
Tecnologías para el servidor(ASP)
  • ASP (Active Server Pages)
  • La tecnología web de Microsoft que permite
    combinar HTML, scripting y componentes
  • Los comandos que se van ejecutar se embeben en el
    código HTML.
  • lt!-comando?
  • Todo se ejecuta en el servidor, lo que asegura su
    independencia del navegador
  • Ventaja Flexibilidad del formato de la
    información recibida y servida.
  • Desventaja sólo se pueden usar con servidores
    web Microsoft en sistemas operativos Microsoft

65
Tecnologías en la parte Servidor
Tecnologías para el servidor(PHP)
  • PHP
  • PHP es un lenguaje interpretado de alto nivel
    embebido en páginas HTML y ejecutado en el
    servidor.
  • El intérprete se añade como un módulo más al
    Apache. Si se instala de esta forma el Apache
    crea un proceso hijo para cada petición que no
    puede ser atendida por ningún otro proceso hijo
    ya creado, pero cuando un proceso necesita
    realizar una conexión SQL a la base de datos, la
    primera vez crea esa conexión y si otra página o
    petición solicita una conexión SQL, puede
    utilizar la que se estableció inicialmente.
  • Ejemplo php.txt

66
Tecnologías en la parte Servidor
Tecnologías para el servidor(PHP)(cont.)
  • Se escribe el código HTML con cierto código PHP
    embebido (introducido) en el mismo, que producirá
    cierta salida (en nuestro ejemplo, producir un
    texto).
  • Es gratuito Se puede descargar a través de la
    página principal de PHP www.php.net, un módulo
    que hace que nuestro servidor web comprenda los
    scripts realizados en este lenguaje.
  • Es independiente de plataforma, puesto que existe
    un módulo de PHP para casi cualquier servidor
    web.

67
Tecnologías en la parte Servidor
Tecnologías para el servidor(Java Servlets)
  • Java servlets
  • Un servlet Java es un programa servidor que
    recibe peticiones HTTP y devuelve resultado en
    HTTP (página en HTML) en este sentido, es
    parecido a un CGI
  • Un servlet es al servidor lo que es un applet al
    cliente.
  • Crea un hilo (no proceso) nuevo para cada
    petición
  • Ejemplo cuando tenemos que conectar con una base
    de datos , en el servlet se inicia una conexión a
    la base de datos y esa conexión permanece abierta
    a lo largo de todas las peticiones sobre ese
    servlet.
  • Se puede acceder desde el código del Servlet a
    métodos de otras clases .

68
Tecnologías en la parte Servidor
Tecnologías para el servidor(JSP)
  • JSP
  • Procesa código embebido en un documento HTML y
    devuelve su resultado al navegador.
  • También podemos incorporar beans o componentes
    dentro del código del JSP. Estos beans,
    normalmente, acceden a la base de datos y desde
    el código JSP se accede mediante etiquetas a las
    propiedades set y get del bean.
  • Hace lo mismo que un servlet, pero frente a este,
    la ventaja que aporta es podemos escribir o
    modificar! Código HTML frente a tener que hacer
    miles de println como hacemos en un servlet.
  • Podemos tener a varias personas haciendo código
    en HTML y otras personas haciendo código JSP y
    después juntarlo todo.
  • Como se hace con Java es independiente de la
    plataforma.

69
Tecnologías en la parte Servidor
Tecnologías para el servidor(XML)
  • XML
  • XML es un subconjunto simplificado de SGML, que
    incorpora muchas de las características de SGML,
    entre las que se incluyen las tres más
    importantes extensibilidad, estructura y
    validación.
  • Uno de los objetivos principales de XML es
    separar el contenido (datos) de la presentación
    (cómo se ven esos datos) en los documentos Web.
  • XML se centra en el contenido, con lo que tiene
    una forma de incluir metadatos en los documentos
    Web.

70
Tecnologías en la parte Servidor
Tecnologías para el servidor(XML)
  • Los metadatos es información acerca de la
    información.
  • Para que nos sirven? Supongamos que quiero
    comprar un anillo en un joyería y quiero buscar
    una línea de joyerías en Oviedo llamada Cuétara.
    Introduzco el término Cuétara en el buscador, y
    obtengo como resultado direcciones relacionadas
    con una marca de galletas, personas que se
    apellidan de esa forma, etc. Si en el buscador
    introdujera a parte del término que busco el
    contexto en el que le busco indicándoselo de
    alguna forma , el resultado que obtendría sería
    más eficiente.

71
Tecnologías en la parte Servidor
Conclusiones
  • CGI ha sido utilizada en el pasado para
    introducir interactividad y contenidos dinámicos
    en el Web
  • Debido a sus deficiencias (para el desarrollo de
    aplicaciones y su escalabilidad), se han
    desarrollado APIs específicas ISAPI y NSAPI, por
    ejemplo
  • Estas APIs son más eficientes que CGI, pero mucho
    más complejas e inseguras.
  • ASP (Active Server Pages) y PHP han venido a
    simplificar el desarrollo de aplicaciones web
    utilizando técnicas de scripting
  • Para conseguir una solución más potente y
    extensible en la parte servidora, Sun ha
    desarrollado la tecnología denominada servlets y
    JSP.
  • Para separar la parte del contenido de la
    presentación del mismo, ha aparecido XML
Write a Comment
User Comments (0)
About PowerShow.com