Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.16 KB

README.md

File metadata and controls

68 lines (46 loc) · 2.16 KB

Servidor web

Repositorio para realizar la practica I de redes II de la Escuela Politécnica Superior de la UAM.

Autores

  • Javier Mateos Najari
  • Adrian Sebastian Gil

Descripcion

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.

Requisitos

Para poder ejecutar el servidor será necesario tener instalado:

  • gcc
  • make

Instrucciones de uso

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

Notas

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.

Referencias

[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

[6]. POSIX thread (pthread) libraries

[7]. HTTP Made Really Easy