HTTP server, bilder/attachments
Hej,
Jag försöker skriva en väldigt simpel http server, framför allt för att ha något kul projekt och för att lära mig nya saker. Jag har dock fastnat lite, säkerligen för att jag inte har läst tillräckligt mycket om hur protokollet fungerar - men jag frågar här ändå. Hittills har jag fått en enkel "hello world"-aktig index.html sida att visas i en browser efter att en browser skickat en GET begäran. Det fungerar även med attachments eller bilder, men det blir väldigt långsamt. Browsern verkar vänta på något som inte inträffar, det som händer är att en GET begäran skickas till min server, servern skickar filen på någon millisekund, men filhämtaren eller "spara som menyn" dyker inte upp förrän flera sekunder senare. Därför känns det som jag har missat något uppenbart som borde göras.
Förklarar lite kort hur jag har gjort nu. Jag skickar en GET begäran från firefox, inget konstigt, där jag ber om, t.ex "bild.jpg", servern svarar då med följande header:
Status: HTTP/1.1 200 OK
Content-Length: <storlek på filen>
Content-Type: image/jpeg
Server: <något>
Accept-Ranges: bytes
Connection: close
Sedan läses filen in med en Filestream (det är faktiskt redan gjort innan för att försäkra mig om att det inte var det som tog tid) och filen skickas i ett antal delar (har testat olika stora delar här, ingen skillnad). Sedan stänger servern sin socket. Sen står browsern och "väntar på <url>" i ett antal sekunder innan den visar/börjar hämta bilden, eller innan "spara som menyn" dyker upp. Det känns som om browsern väntar på något här, som inte händer utan istället blir det någon form av timeout.
Någon som har någon idé om vad jag missar? Kanske något jag missat i headern?