Pre-Laboratorio 1: HTTP / Servidor Web Apache / Herramientas de

Anuncio
Pre-Laboratorio 1: HTTP/ Servidor Web Apache /
Herramientas de desarrollo
Pre-Laboratorio 1: HTTP / Servidor Web
Apache / Herramientas de desarrollo
HTTP (Hypertext transfer protocol)
HTTP es el acrónimo del término en inglés Hypertext Transfer Protocol, en
castellano, Protocolo de Transferencia de HiperTexto.
HTTP está soportado por el protocolo de red TCP/IP. HTTP es utilizado para
transferir peticiones y respuestas en la World Wide Web. Las respuestas
usualmente contienen archivos y otros datos (colectivamente llamados
recursos).. Los recursos pueden ser: archivos HTML, archivos de imagen (jpg,
gif, *), archivos con scripts o datos, resultados de consultas o cualquier otra
cosa.
El protocolo HTTP está basado en el paradigma petición/respuesta, donde un
cliente HTTP realiza una petición a un servidor HTTP. Un navegador (browser)
es un cliente HTTP, que envía solicitudes a un servidor http-d.
Un http-d es un servidor tipo proceso demonio, que escucha en un puerto TCP
y recibe peticiones HTTP, una vez procesada las peticiones, envía respuestas
HTTP de vuelta al cliente HTTP.
Servidor HTTP Apache
El proyecto del servidor HTTP apache es un esfuerzo de desarrollo de software
colaborativo que apunta a crear un servidor HTTP (Web) robusto, de grado
comercial, alto en prestaciones y con gratuita disponibilidad del código fuente.
El proyecto es manejado conjuntamente por un grupo de voluntarios alrededor
del mundo, quienes se comunican, diseñan, desarrollan, evolucionan el
servidor, así como su documentación relacionada. Este proyecto es parte de la
Apache Software Foundation. Además, gran cantidad de contribuyentes en
todo el mundo han aportado ideas, código y documentación para el proyecto.
[2]
Pros y Contras del servidor HTTP Apache
Pros:


El Apache Web Server es gratis (gracias a sus características opensource), por lo tanto la inversión que se tiene que hacer para poder tener
un Servidor Web están solo en la parte de Hardware que van a soportar
al mismo.
El Servidor Apache posee un gran desempeño y una sólida robustez,
gracias a su constante desarrollo. Los errores son encontrados
rápidamente por los miles de Webmasters en el mundo que mantienen
Grupo Docente ATI
1
Pre-Laboratorio 1: HTTP/ Servidor Web Apache /
Herramientas de desarrollo




sitios Webs críticos y estos son corregidos por ellos mismos o por
terceros pertenecientes a la Apache Software Foundation.
Provee una muy buena base para la seguridad del sistema, gracias a los
módulos de Autentificación, Autorización y Control de Acceso al Servidor
Web, además el nuevo modulo para la versión 2.0 que nos permite
poder disfrutar de SSL/TLS en nuestro servidor para seguridad en la
transmisión de datos.
Como se encuentra bajo constante revisión, el Servidor Apache soporta
la última versión del protocolo HTTP, la versión 1.1.
El soporte es abundante, y muy bueno (en cuanto a contenido). La
documentación es excelente, dado que la misma esta en constate
revisión y es actualizada muy rápidamente. Existen muchos foros de
noticias, así como páginas especializadas en el Apache Web Server
como la revista electrónica Apache Week.
La extensibilidad por módulos lo hace extremadamente flexible y fácil de
usar, así como de configurar.
Contras






La versión para el OS de Apple es muy pobre y deficiente, dado que
hace poco es cuando esta versión salio al público y la falta de usuarios
en este sistema que hace que el desarrollo vaya mucho más lento.
Las distribuciones para Windows todavía no están al 100% de su
capacidad, por lo tanto el rendimiento en comparación con el sistema
operativo Linux es muy pobre y deja que desear. Esto aunado a que
Apache proviene del demonio HTTPd de Linux, por lo tanto este es el
sistema preferido de los desarrolladores.
Es necesario algún tipo de Front grafico para hacer más amena y mucho
más fácil la configuración del Apache Web Server, así como algún tipo
de soporte para la instalación y configuración más fácil de entender,
dado que muchos de las directivas de configuración del Apache Web
Server todavía son un poco oscuras.
El Servidor Apache no soporta ningún tipo de integración con Bases de
Datos (PHP).
No hay soporte para Java (JSP, Servlets, etc).
Un soporte más extenso para llevar un control más riguroso del Servidor
Apache requiere la contratación de personal altamente calificado para
esta tarea, dado que la tarea de configuración y mantenimiento del
servidor no son nada fáciles.[3]
Grupo Docente ATI
2
Pre-Laboratorio 1: HTTP/ Servidor Web Apache /
Herramientas de desarrollo
Formato y estatutos de entrega
La evaluación de este pre-laboratorio se realizará por medio de un
cuestionario el cual verificará su conocimiento e investigación respecto al
protocolo HTTP, diferencias entre la versión 1.0 y 1.1 y ciertas características y
conceptos fundamentales del servidor HTTP Apache. Justifique
adecuadamente todas sus respuestas.
Al final el pre-laboratorio y el laboratorio el estudiante estará en capacidad de
comprender el funcionamiento del protocolo HTTP, realizar la instalación del
servidor Web Apache, realizar ciertas configuraciones relativas a este,
comprender cómo maneja el sistema de archivos, comprender su manejo de
seguridad y virtual host, conocer ciertas herramientas de desarrollo provistas
por los clientes para verificar el funcionamiento de cierta aplicación.
Para documentarse respecto al protocolo HTTP debe leer el artículo de James
Marshall “HTTP Made Really Easy” (http://www.jmarshall.com/easy/http/),
también se recomienda la lectura de los siguientes artículos:

http://acsblog.es/articulos/trunk/LinuxActual/Apache/html/x49.html
(Capítulo relativo a “El Protocolo HTTP”)

http://www8.org/w8-papers/5c-protocols/key/key.html
between HTTP/1.0 and HTTP/1.1

Distintas documentaciones bibliográficas relativas a este protocolo que
desee leer (Incluidos los RFC 1945 y 2616 si tiene el interés en el
protocolo)
Key
Differences
Para documentarse respecto al servidor HTTP Apache en lo referido a los
aspectos de nuestro interés se recomienda la lectura de la documentación
provista en la web del proyecto (http://httpd.apache.org/docs/), no completa
dado que es bastante densa. Se recomiendan las guías del Usuario de

Archivos de configuración

Mapear URLs a ubicaciones de un sistema de archivos

Hosting Virtual

Archivos Log
Y los tutoriales:

Autentificación, Autorización y Control de Acceso
En general existe mucha documentación adicional respecto al servidor HTTP
Apache, también se puede hacer uso de ella.
Grupo Docente ATI
3
Pre-Laboratorio 1: HTTP/ Servidor Web Apache /
Herramientas de desarrollo
Cuestionario
1. El protocolo HTTP realiza solicitudes desde un cliente hacia un servidor
y este le responde, ¿Qué busca el cliente mediante este procedimiento?
Respecto a la respuesta anterior, ¿De qué forma se referencia eso que
se desea buscar?
2. Para realizar una solicitud HTTP a un servidor que escucha solicitudes
por el puerto 90, ¿Desde qué puerto se debe realizar dicha solicitud?
3. HTTP 1.1 provee características como utilizar conexiones TCP
persistentes, solicitudes If-Modified-Since y If-Unmodified-Since,
caching. ¿Cuál es la finalidad de estas agregaciones al protocolo?
Justifique brevemente su respuesta.
4. ¿Qué característica permite a los servidores la inclusión de la cabecera
Host en las solicitudes HTTP? Explique la relevancia de esta
característica.
5. Indique cuáles de las siguientes sentencias son verdaderas o falsas,
justifique
a. Suponga que se tienen las directivas Order allow,deny seguidas
por allow from xxx.xxx.xxx.xxx y deny from xxx.xxx.xxx.xxx, Las
peticiones provenientes de xxx.xxx.xxx.xxx serían aceptadas.
b. Suponga que se tienen las directivas <Location /images>
ForceType image/png </Location> y se guarda un archivo pdf en
el directorio correspondiente a esta locación en la respuesta se
podría apreciar sin inconveniente que dicho archivo es del tipo
pdf.
6. Apache provee del concepto de Virtual Host, responda las siguientes
preguntas considerando dicho concepto:
a. ¿Qué representa este concepto a nivel práctico?
b. ¿Qué tipos de virtual host maneja Apache? Explique las
diferencias entre cada uno de ellos.
7. Suponga que se tiene la directiva CacheEnable mem /static, ¿Qué
ocurriría
con
todos
los
archivos
servidos
en
la
url
http://esteservidor.com/static? Sea específico en su respuesta.
Grupo Docente ATI
4
Pre-Laboratorio 1: HTTP/ Servidor Web Apache /
Herramientas de desarrollo
Entrega
Debe entregar el día de la semana del 9 al 13 de Diciembre en el cual le
corresponda su laboratorio, las respuestas al cuestionario vía la web de la
asignatura en la sección de entregas antes de su llegada al laboratorio. El
archivo con las respuestas puede ser del formato .doc, .docx, .pdf, .odt o texto
plano y el nombre del mismo debe seguir el formato
Díalaboratorio-NombreApellido-prelaboratorio1.<extensión del formato>
Por ejemplo Martes-LarryWall-prelaboratorio1.doc
5
Referencias
[1] http://www.jmarshall.com/easy/http/
[2] http://httpd.apache.org/ABOUT_APACHE.html
[3]
http://ldc.usb.ve/~emilio/Portafolio/Software/REDES3/G5b/Presenta_Site/caracteristic
as_pyc.htm
Grupo Docente ATI
Descargar