1. APLICACIONES WEB TRIMESTRE-1 Débora García García
Unidad 1. Relación de ejercicios.
1. ¿Qué son los servicios web?
Es un software que utiliza un conjunto de protocolos y estándares que sirven para
intercambiar datos entre aplicaciones desarrolladas en lenguajes de programación
diferentes y que pueden ejecutarse sobre cualquier plataforma donde se pueden
intercambiar datos en red.
2. ¿Qué son los estándares web?
Son un conjunto de recomendaciones dadas por W3C y otras organizaciones
internacionales acerca de cómo crear e interpretar documentos basados en web.
3. ¿Quién forma la W3C?
Son los comités responsables de la arquitectura y reglamentación de los servicios
web.
Lista de los miembros actuales: http://www.w3.org/Consortium/Member/List
4. Haz un breve resumen de algunas de las tecnologías más importantes
utilizadas en la web.
ASP (Active Serves Pages)
Tecnología de Microsoft del lado del servidor para páginas web generadas
dinámicamente. Es un modelo de programación rápida como C# o Visual
Basic, pero con muchas limitaciones porque sólo funciona con IIS (Internet
Information Services). Es un software no libre. Lo interesante es que puede
utilizar diversos componentes ya desarrollados como algunos controladores
ActiveX.
ASP.NET
Es un framework (patrón) para aplicaciones web desarrollado y
comercializado por Microsoft. Para sitios web dinámicos, aplicaciones web y
servicios web XML. Sucesor de ASP. Formularios web con extensión ASPX,
archivos que contienen etiquetas HTML o XHTML estático. Sólo funciona
sobre servidor de Micrsoft IIS.
PHP (Hypertext Preprocessor)
Lenguaje de programación interpretado, diseñado originalmente para la
creación de páginas web dinámicas con acceso a una base de datos. Se usa
para la interpretación del lado del servidor. Multiplataforma. Conectividad con
MySQL y PostgreSQL. Libre. Programación orientada a objetos.
JSP (Java Server Pages)
Tecnología Java que permite generar contenido dinámico para web en forma
de documentos HTML, XML o de otro tipo. Desarrollo de Sun
Microsystems. Permiten la utilización del código Java mediante scripts.
1
2. APLICACIONES WEB TRIMESTRE-1 Débora García García
XML (Extensible Markup Language)
Metalenguaje extensible de etiquetas desarrollado por W3C. Es una
simplificación de y adaptación SGML.
Mas información: http://www.maestrosdelweb.com/principiantes/los-diferentes-lenguajes-
de-programacion-para-la-web/
5. ¿Qué es un lenguaje de scripts?
Un lenguaje de script es un pequeño lenguaje de programación cuyo código se
inserta dentro del documento HTML. Este código se ejecuta en el navegador del
usuario al cargar la página, o cuando sucede algo especial como puede ser el
pulsar sobre un enlace.
Estos lenguajes permiten variar dinámicamente el contenido del documento,
modificar el comportamiento normal del navegador, validar formularios, realizar
pequeños trucos visuales, etc... Sin embargo, conviene recordar que se ejecutan
en el navegador del usuario y no en la máquina donde estén alojadas, por lo que
no podrán realizar cosas como manejar bases de datos.
6. Explica las diferencias entre los lenguajes del lado del servidor y los
lenguajes del lado del cliente. Ejemplos.
Lenguajes de lado servidor son aquellos lenguajes que son reconocidos,
ejecutados e interpretados por el propio servidor y que se envían al cliente en un
formato comprensible para él. Independiente del cliente, es menos rígido respecto
al cambio de un navegador a otro o respecto a las versiones del mismo. Los scripts
son almacenados en el servidor, quien los ejecuta y traduce a HTML,
permaneciendo oculto al cliente.
Lenguajes de lado cliente (entre los cuales se encuentra HTML, Java, JavaScript,
incluidos en el código HTML) son aquellos que pueden ser directamente
interpretados por el navegador y no necesitan un pretratamiento. Es totalmente
independiente del servidor, lo cual permite que la página pueda ser albergada en
cualquier sitio sin necesidad de pagar más ya que, por regla general, los servidores
que aceptan páginas con scripts de lado servidor son en su mayoría de pago o sus
prestaciones son muy limitadas.
7. Haz un breve análisis de los lenguajes más utilizados en aplicaciones web
2
3. APLICACIONES WEB TRIMESTRE-1 Débora García García
8. ¿Qué es Apache y cuáles son sus características más importantes?
Servidor web de distribución libre y de código abierto, siendo el más popular desde
el 96.
Para servir páginas web estáticas y dinámicas en la WWW.
La principal competencia es IIS (Microsoft Internet Information Services).
La aplicación permite ejecutarse en múltiples sistemas operativos como Windows,
Novell, NetWare, Mac OS X y los sistemas basados en Unix.
Características:
Soporte para los lenguajes perl, phyton, tlc y php.
Módulos de autenticación: mod_access, mod_auth y mod_digest.
Soporte para SSL y TLS.
Perminte la configuración de mensajes de errores personalizados y negociación de
contenido.
Autenticación de base de datos basada en SGBD.
9. ¿Cuáles son los archivos de configuración más importantes de Apache?.
Explíca algunos de los parámetros de configuración con algún ejemplo.
La configuración de Apache se realiza mediante unas directivas escritas en ficheros
de texto que se leen al iniciar el servidor web, el fichero de configuración principal
suele llamarse httpd.conf.
Windows:<apache>/conf/httpd.conf
Linux: <base de la instalacion>/etc/apache/httpd.conf
Desde este fichero podemos cargar otros ficheros de configuración usando la
directiva Include.
3
4. APLICACIONES WEB TRIMESTRE-1 Débora García García
Apache incluye por defecto una configuración que arranca el servidor en el puerto
TCP por defecto, que es el puerto 80, y sirve los ficheros del directorio que se ha
especificado mediante la directiva de configuración denominada DocumentRoot.
httpd.conf está compuesto por tres bloques fundamentales, aunque las directivas
de cada uno de los bloque pueden aparecer desordenadas o mezcladas.
Estos bloques son:
• Parámetros globales
• Directivas de funcionamiento
• Hosts virtuales
<Directory> y .htaccess
<DirectoryMatch> y <Directory>
<Files> y <FilesMatch>
<Location> y <LocationMatch>
Un ejemplo de configuración:
<Directory /home/*/public_html>
Options Indexes
</Directory>
<FilesMatch .(?i:gif jpe?g png)$>
Order allow,deny
Deny from all
</FilesMatch>.
Más información:
http://www.cibernetia.com/manuales/instalacion_servidor_web/2_3_configuracion_apache.
php
10. ¿Para qué sirve el módulo mod_ssl de Apache?
Criptografía avanzada utilizando los protocolos Secure Sockets Layer y Transport
Layer Security de OpenSSL.
11. ¿Qué es una entidad certificadora?
Una Entidad certificadora es una institución que se compromete a certificar que los
certificados emitidos por otras entidades certificadoras subordinadas, en las cuales
ha expresado de forma explícita su confianza, son auténticos. Los certificados de
servidor son necesarios para poder definir páginas web seguras (accesibles
mediante el protocolo "https" en vez del habitual "http").
12. Explica las diferencias entre el protocolo http y https.
La diferencia es sencillamente su seguridad.
HTTP (Hyper Tex Transport Protocol) lenguaje para cambiar información entre
4
5. APLICACIONES WEB TRIMESTRE-1 Débora García García
servidor y cliente. Esta página te está hablando en un lenguaje normal pero
inseguro, esta sujeto a ataques man-in-the-middle y eavesdropping que pueden
permitir al atacante obtener acceso a cuentas de un sitio web e información
confidencial. HTTPS está diseñado para resistir esos ataques y ser menos
inseguro.
Lo que marca la diferencia es la S (Secure). HTTPS estas páginas trabajan en
modo seguro utiliza un cifrado basado en SSL/TLS para crear un canal cifrado
(cuyo nivel de cifrado depende del servidor remoto y del navegador utilizado por el
cliente) más apropiado para el tráfico de información sensible que el protocolo
HTTP. De este modo se consigue que la información sensible (usuario y claves de
paso normalmente) no pueda ser usada por un atacante que haya conseguido
interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá
será un flujo de datos cifrados que le resultará imposible de descifrar.
En el protocolo HTTP las URLs comienzan con "http://" y utilizan por defecto el
puerto 80, Las URLs de HTTPS comienzan con "https://" y utilizan el puerto 443.
13. ¿Qué es un servidor de bases de datos relacional?
Es un sistema bajo arquitectura cliente/servidor que proporciona servicios de
gestión, administración y protección de la información (datos) a través de
conexiones de red, gobernadas por unos protocolos definidos y a los que acceden
los usuarios, de modo concurrente, a través de aplicaciones clientes (bien sean
herramientas del propio sistema como aplicaciones de terceros).
Manejan grandes volúmenes de información de una manera estable, fiable,
coherente y segura en un entorno heterogéneo de trabajo y de necesidades de
información.
La información se almacenará de modo lógico de una manera relacional, en la que
un conjunto de almacenamientos que llamaremos tablas que se relacionan entre sí
a través de un conjunto definido de claves.
Todo se realiza a través del lenguaje SQL (Structured Query Language, lenguaje
estructurado de consulta) que se ha convertido en el estándar de interfaz de estos
sistemas para su diseño, desarrollo y consultas de información.
14. Haz un estudio de los servidores de bases de datos más utilizados en
aplicaciones web.
MySQLserver
Es un SGBD multiusuario, multiplataforma (LAMP, MAMP, WAMP...)y de
código abierto. Suele combinarse con el lenguaje PHP. Está escrito en C y
C++, emplea el lenguaje SQL para consultas a la base de datos, disponible
como freeware bajo licencia GPL.
PostgreSQLserver
Sistema de gestión de base de datos relacional orientada a objetos y libre,
5
6. APLICACIONES WEB TRIMESTRE-1 Débora García García
publicado bajo licencia BSD, de código abierto.
Disponible para muchas plataformas.
Oracle XE
Es una herramienta cliente/servidor para la gestión de BD, pontente y
elevado de precio, por eso no está extendido como. Se puede utilizar SQL
para formularios, realizar consultas.
Es manejador de base de datos relacional que hace uso de los recursos del
sistema informático en todas las arquitecturas de hardware, para garantizar
su aprovechamiento al máximo en ambientes cargados de información.
Es el conjunto de datos que proporciona la capacidad de almacenar y acude
a estos de forma consecuente con un modelo definido como relacional.
Además es una suite de productos que ofrece una gran variedad de
herramientas.
15. Haz un análisis de los servicios de hosting comerciales.
Hosting (alojamiento o también conocido como hospedaje web, alojamiento web,
web site hosting, web hosting o webhosting) es un negocio que consiste en alojar,
servir, y mantener archivos para uno o más sitios web. Más importante que el
espacio del ordenador que se proporciona para los archivos del sitio web es la
conexión rápida a Internet.
16. Elige la respuesta correcta justificando brevemente su elección.
• En las arquitecturas cliente/servidor:
6
7. APLICACIONES WEB TRIMESTRE-1 Débora García García
a) La parte cliente se conoce como front-end y la servidor como back-end: e n diseño o
desarrollo web hace referencia a la visualización del usuario navegante por un lado (front-
end), y del administrador del sitio con sus respectivos sistemas por el otro (back-end).
b) La parte cliente se conoce como back-end y la servidor como front-end.
c) La parte cliente se conoce como display-end y la servidor como process-end.
d) Las anteriores respuestas no son correctas.
• De las siguientes tecnologías, ¿cuál se emplea para programar un cliente web?
a) CGI: es una importante tecnología de la WWW que permite a un cliente (navegador
web) solicitar datos de un programa ejecutado en un servidor web.
b) ASP: es una tecnología de Microsoft del tipo "lado del servidor" para páginas web
generadas dinámicamente, que ha sido comercializada como un anexo a internet
Information Services (IIS).
c) HTML: Es el lenguaje de marcado predominante para la elaboración de páginas web.
d) ColdFusion: es un servidor de aplicaciones y un lenguaje de programación usado para
desarrollar aplicaciones deInternet, generalmente sitios web generados dinámicamente.
En este aspecto, es un producto similar a ASP, JPS o PHP.
• De las siguientes tecnologías, ¿cuál no se emplea para programar un servidor
web?
a) Servlets: son componentes de la parte del servidor de Java EE, encargados de generar
respuestas a las peticiones recibidas de los clientes.
b) Applets: son programas incrustados en otras aplicaciones, normalmente una página
Web que se muestra en un navegador.
c) SSI: es una simple interpretación del lado del servidor lenguaje utilizado casi
exclusivamente para la web.
d) ColdFusion: es una interfaz creada por Allaire para acceder a bases de datos desde el
Web. Es una potente herramienta para realizar las funciones de acceso a la información
alojada en bases de datos, utilización de programación personalizada, y presentación de
la información utilizando formatos muy avanzados.
• El protocolo HTTP fue inventado por:
a) Tim Berners-Lee.
b) Marc Andresseen.
7
8. APLICACIONES WEB TRIMESTRE-1 Débora García García
c) Linus Torvalds.
d) Steve Jobs.
• JavaScript es un lenguaje de programación:
a) Orientado a objetos: lenguaje de programación orientado a objetos, desarrollado por
Sun Microsystems. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero
tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen
inducir a muchos errores, como la manipulación directa de punteros o memoria.
b) Basado en objetos.
c) Sin objetos.
d) Las anteriores respuestas no son correctas.
• Cuando nos referimos a Internet y a la Web:
a) Internet incluye a la Web: sistema de documentos interconectados por enlaces de
hipertexto, disponibles en Internet.
b) La Web incluye a Internet.
c) Nos estamos refiriendo a lo mismo.
d) Las anteriores respuestas no son correctas.
• La estandarización de la Web es tarea de:
a) Microsoft y sus compañías asociadas.
b) Netscape y sus compañías asociadas
c) W3C: Consorcio de la World Wide Web, es un consorcio internacional que vela por
desarrollar estándares web para guiar la web a su máximo potencial asegurando su
crecimiento futuro.
d) IEEE: estudio de estándares elaborado por el Instituto de Ingenieros Eléctricos y
Electrónicos que actúa sobre redes de ordenadores.
• De las siguientes tecnologías, ¿cuál no se emplea para programar un cliente web?
a) HTML: lenguaje de marcado de hipertexto, es el lenguaje de marcado predominante
para la elaboración de páginas web.
b) SSI: es una simple interpretación del lado del servidor lenguaje utilizado casi
exclusivamente para la Web. El uso más frecuente de SSI es para incluir el contenido de
8
9. APLICACIONES WEB TRIMESTRE-1 Débora García García
uno o más archivos en una página web en un servidor web.
c) JavaScript: lenguaje de programación que se puede utilizar para construir sitios Web y
para hacerlos más interactivos.
d) VRML: Lenguaje para Modelado de Realidad Virtual, formato de archivo normalizado
que tiene como objetivo la representación de escenas u objetos interactivos
tridimensionales, diseñado particularmente para su empleo en la web.
9