- 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
Einfacher HTTP -Server, der von Grund auf neu erstellt wurde, Beschreibung des Projekts
Funktionen dieses Webservs
- Sockets Programmierung: Basic Server-Client-Kommunikation (mithilfe der <sys/socket.h> lib)
- Sockets Programmierung: IO -Multiplexing mit Epoll -Suite, Sockeln sind nicht blockiert
- Webserverarchitektur: Basierend auf der NGINX -Architektur (Worker Process) -> Serverdatenstruktur, Konfigurationsdatenstruktur
- Webserverarchitektur: Ein Arbeiter (ein Prozess) bearbeitet alle Verbindungen mit EPOLL.
- Konfigurationsdateien: Inspiriert von der NGINX -Konfigurationsdatei finden Sie in Details für Anweisungen unten
- Konfigurationsanweisungen: siehe "./_webserv/configuration_files/readme.md"
- HTTP -Protokoll: 1.1
- HTTP -Methoden: Get, post, löschen
- HTTP -Umleitungen
- HTTP -Fehlercodes: siehe "./webserV_Dictionnary.md"
- Datei -Upload:
- Datei herunterladen:
- Datentyp gehandhabt: einfache/text, binär
- Chunked Codierung
- Dynamischer Inhalt mit CGI, CGI -Skripten in Python und Perl behandelt
- Timer auf 60 Sekunden Standard eingestellt
- HTML -Skripte, CSS
- Verwendet Stream -Objekte anstelle von Dateideskriptoren für die meisten Lese-/Schreibvorgänge mit Ausnahme von Sockets
- Fehlermanagement, Lecks, Belagerung
Host, Listen, Server_Name, Speicherort, Methode, Root, Index, autoIndex, body_size, error_page, return, exec_cgi, erweiterung_cgi)
Inhalt dieses Githubs
_webserv
Dieser Ordner enthält die endgültige und vollständige Version unseres Websers, die 18/07/23 überschritten und validiert hat.
./webserv_*
Wir wollen in den kommenden Wochen die folgenden Dokumente abschließen. Derzeit arbeiten sie noch in Arbeit:
- ./webserv_dictionnary.md
- ./webserv_research.pdf
- ./webserv_flowchart.pdf
- ./webserv_correction_prep.md
- ./_webserv/configuration_files/readme.md
WIP- Forschung ist verfügbar unter: https://docs.google.com/document/d/1i5g1xghdpuf_c7df9sp-dej2bdzipvbjh13Hlpty0w/edit?usp=sharing-Dklauzausschluss: Dies war unser Forschungsdokument.
So verwenden Sie diesen Webserv
..Tbd
Standardfunktion unseres Webservers
Die Standardkonfigurationsdatei befindet sich unter configuration_files/default.conf .
Die Wurzel befindet sich immer bei var/www .
Dieser Ordner enthält alle statischen Dateien, die unser Webserver zum Client zurückkehren kann (HTML, CSS, Bilder und sogar JavaScript -Dateien!).
Die Indexseite befindet sich unter /html/landing_page.html .
... TBC