background image

Implementacja protokołu HTTP w postaci prostego serwera TCP

Wykorzystując wiadomości z wykładów oraz przykład prostego jednozadaniowego serwera TCP 
można zaimplementować prostą obsługę protokołu HTTP

Przebieg konwersacji między przeglądarką i serwerem WWW

Przeglądarka:

GET / HTTP/1.1
Host: <adres hosta>
User-Agent: Mozilla/5.0 (system; ; wersja systemu;itp itd) Firefox/versja
Accept: text/html, ............
Accept-Language: pl,en-us;q=0.7
Accept-Encoding: gzip,....
Keep-Alive:300
Connection: keep-alive

Odpowiedź serwera: (w przypadku powodzenia)

HTTP/1.1 200 OK
Date: Sun, 30 May 2010 11:16:19 GMT
Server: TestWWW 0.0.1
Content-Type tex/html
Content-Length: <wpisać długość wiadomości>
<nowa linia>
<html>
<body>
To dziala
</body>
</html>

Zadanie 1 
Zaimplementować prosty serwer WWW na bazie przykładu umieszczonego na stronie przedmiotu. 
Serwer powinien akceptować tylko zapytania o jedną stronę / lub /index.html odwołanie do każdej 
innej powinno kończyć się kodem 400 Bad Request. Odpowiedź powinna wyglądać tak jak na 
powyższym przykładzie