Repositorio para realizar la practica I de redes II de la Escuela Politécnica Superior de la UAM.
- Javier Mateos Najari
- Adrian Sebastian Gil
Este proyecto consiste en desarrollar un servidor web en el lenguaje de programación C. El servidor web que se ha implementado cumple con los siguientes requisitos funcionales:
- Servidor concurrente mediante un pool de conexiones.
- Soporte para el protocolo HTTP/1.1.
- Metodos: GET, POST, HEAD.
- Soporte para ejecucion de scripts mediante WGI.
Para poder ejecutar el servidor será necesario tener instalado:
- gcc
- make
cat server.ini # Muestra la configuración del servidor
make
make run
Una vez ejecutado el servidor se puede acceder a una pagina de prueba accediendo a la siguiente URL:
localhost:3490/index.html
Nota: Si se modifica el puerto en el que se ejecuta el servidor en el archivo de configuración el enlace no funcionará.
Nota: Si se ejecuta el servidor en modo daemon el comando necesario para mirar los logs es:
sudo tail -f /var/log/syslog
La pagina web de ejemplo no contiene los archivos en la carpeta www correspondiente a los archivos media. Para probar la funcionalidad del servidor seria suficiente con introducir en dicha carpeta los archivos necesarios que aparecen en las rutas html.
[1]. RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
[2]. Beej's Guide to Network Programming
[3]. Iniparser lib
[4]. Concurrent Servers
[5]. Thread Pool