From 3a892d9735205119b4765abf230d6045645b8c6c Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Fri, 22 Oct 2021 23:31:09 +0200 Subject: readme file --- Year_3/TSDWL/webserver/CMakeLists.txt | 5 +++ Year_3/TSDWL/webserver/README.md | 65 ++++++++++++++++++++++++++++++++ Year_3/TSDWL/webserver/webserver.tar.xz | Bin 0 -> 3908 bytes 3 files changed, 70 insertions(+) create mode 100644 Year_3/TSDWL/webserver/CMakeLists.txt create mode 100644 Year_3/TSDWL/webserver/README.md create mode 100644 Year_3/TSDWL/webserver/webserver.tar.xz diff --git a/Year_3/TSDWL/webserver/CMakeLists.txt b/Year_3/TSDWL/webserver/CMakeLists.txt new file mode 100644 index 0000000..b3947fc --- /dev/null +++ b/Year_3/TSDWL/webserver/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 2.8.9) +project(server) + +file(GLOB SOURCES "*.c") +add_executable(${CMAKE_PROJECT_NAME} ${SOURCES}) diff --git a/Year_3/TSDWL/webserver/README.md b/Year_3/TSDWL/webserver/README.md new file mode 100644 index 0000000..0fee76a --- /dev/null +++ b/Year_3/TSDWL/webserver/README.md @@ -0,0 +1,65 @@ +# Installazione + +Scaricare la tarball: +``` +http://git.dcariotti.me/unict/plain/Year_3/TSDWL/webserver/webserver.tar.xz +tar -J -xvf webserver.tar.xz +``` + +(facoltativo) Creare una cartella per i file del server + +Farne la build +``` +cmake . +./server +``` + +Alternativamente a tutto ciò si può scaricare la cartella presente in +``` +http://git.dcariotti.me/unict/tree/Year_3/TSDWL/webserver +``` +e farne la build. Ma meglio non scaricare tutti i file presenti sulla repo visto +che non c'entrano né col corso, né con l'esercizio. + +# Avvio +Il file `./server` può essere eseguito come +``` +./server [root] +``` +dove la `` è obbligatoria, mentre la cartella `[root]`, ovvero quella +specificata prima dove saranno i file e che il server andrà ad interrogare, sarà +facoltativa. Di default andrà a cercare dentro una cartella `www` presente nella +cartella corrente. + +# Test +Aprire una connessione con `telnet` come +``` +telnet +``` + +Eseguira una chiamata GET come +``` +GET / HTTP/2 +[...] + + +``` +Tutti gli altri headers saranno ignorati. Al secondo invio verrà cercato il file +all'interno del server. La path e la versione di HTTP sono chiaramente variabili. + +Il responso è completo nel caso di stato 200 o 206, per tutti gli altri sarà una +riga con risposta 404 o 405. + +Attualmente il `Content-type` è staticamente a `text/txt`. + +Il test può essere fatto anche con client come Insomnia o cURL: +``` +curl :/ +``` + +# Nota +Quando si passa come path la "/" si farà una ricerca al file `index.html`. + +--- + +I numerosi commenti `TODO` e `FIXME` saranno sistemati in seguito. diff --git a/Year_3/TSDWL/webserver/webserver.tar.xz b/Year_3/TSDWL/webserver/webserver.tar.xz new file mode 100644 index 0000000..db0b5dd Binary files /dev/null and b/Year_3/TSDWL/webserver/webserver.tar.xz differ -- cgit v1.2.3-18-g5258