Implementacja prostego serwera WWW, obsługujący żądania protokołu komunikacyjnego HTTP. Wyświeta strony z zadanego katalogu.
Realizowane zadania:
- obsługa żądań GET (pole
Hosti poleConnection) - odsyła informacje: kod odpowiedzi, pole
Content-Typei poleContent-Length. - zwraca następujące kody odpowiedzi: 200 (OK), 301(Moved Permanently), 403 (Forbidden), 404 (Not Found), 501 ( Not Implemented)
- obsługa plików: txt, html, css, jpg, jpeg, png i pdf. Pozostałe pliki mają typ application/octet-stream
- po nawiązaniu połączenia serwer utrzymuje połączenie z nieaktywnym klientem przez 1s (zamykane w przypadku odebrania nagłówka
Connection: close) - obsługa wiele klientów jednocześnie
Skonfiguruj lokalne rozwiązywanie nazw DNS dopisując do pliku /etc/hosts następujące wpisy:
127.10.10.1 domena1.sieci.edu
127.10.10.2 domena2.sieci.edu
Od tej pory odwołania do powyższych domen będą kierowane do lokalnego komputera.
./server port directory
port - numer portu, na którym serwer będzie oczekiwać na przychodzące połączenia (np. 8888)
directory - katalog zawierający strony WWW (np. ../strony-www/)
- w przeglądarce wpisać adres:
domena1.sieci.edu:8888/ echo incorrect data | nc domena1.sieci.edu 8888echo incorrect data | telnet domena1.sieci.edu 8888