- Disclaimer!
+ On this github only the project is final
! Project research, documentation and other supporting documents are work in progress
! -> readme.md and dir _readme_files
42_webserv
Serveur HTTP simple à partir de la description du projet
Fonctionnalités de ce websert
- Programmation des sockets: communication de base du serveur-client (en utilisant le <sys / socket.h> lib)
- Programmation des sockets: multiplexage IO avec la suite Epoll, les prises ne bloquent pas
- Architecture du serveur Web: basé sur l'architecture NGINX (processus de travail) -> Structure de données du serveur, structure de données de configuration
- Architecture de serveur Web: un travailleur (un processus) gère toutes les connexions à l'aide d'Epoll,
- Fichiers de configuration: inspiré par le fichier de configuration Nginx, voir les détails des directives ci-dessous
- Directives de configuration: voir "./_webserv/configuration_files/readme.md"
- Protocole HTTP: 1.1
- Méthodes HTTP: obtenir, publier, supprimer
- Redirections HTTP
- Codes d'erreur http: voir "./webserv_dictionnary.md"
- Téléchargement de fichiers:
- Téléchargement de fichiers:
- Type de données géré: simple / texte, binaire
- Codage
- Contenu dynamique manipulé avec CGI, scripts CGI dans Python et Perl
- Les minuteries réglées sur 60 secondes par défaut
- Scripts HTML, CSS
- utilise des objets Stream au lieu de descripteurs de fichiers pour la plupart des opérations de lecture / écriture, sauf pour les sockets
- Gestion des erreurs, fuites, siège
hôte, écouter, server_name, emplacement, méthode, root, index, autoIndex, body_size, error_page, return, exec_cgi, extension_cgi)
Contenu de ce github
_webserv
Ce dossier contient la version finale et complète de notre webser, poussée et validée 18/07/23.
./webserv_*
Nous visons à finaliser les documents suivants dans les prochaines semaines, actuellement ils travaillent toujours en cours:
- ./webserv_dictionnary.md
- ./webserv_research.pdf
- ./webserv_flowchart.pdf
- ./webserv_correction_prep.md
- ./_webserv/configuration_files/readme.md
La recherche WIP est disponible sur: https://docs.google.com/document/d/1i5g1xghdpuf_c7df9sp-edej2bdzipvbjh13hlpty0w/edit?usp=sharing Dislaiger: il s'agissait de notre document de recherche pendant le projet et a été finalisé, c'est un peu de gode
Comment utiliser ce websert
..Tbd
Fonctionnement par défaut de notre serveur Web
Le fichier de configuration par défaut est situé sur configuration_files/default.conf .
La racine est toujours à var/www .
Ce dossier contient tous les fichiers statiques que notre serveur Web peut retourner au client (HTML, CSS, images et même fichiers JavaScript!).
La page d'index est située sur /html/landing_page.html .
... TBC