Obsługa połączeń
Każde nadchodzące połączenie obsługiwane będzie przez osobny wątek. Jeżeli w puli utworzonych przy starcie wątków istnieją jeszcze jakieś wolne, wtedy pierwszemu pobranemu z puli wątkowi będzie przekazane zadanie obsługi połączenia z klientem. Jeżeli liczba połączonych w tym samym czasie klientów wyczerpie pule dostępnych wątków, tworzone będą nowe wątki do obsługi tych połączeń. Jeżeli wątek obsługujący połączenie został utworzony przy starcie serwera, to w momencie kończenia połączenia zostanie on zwrócony do puli dostępnych wątków. Pozostałe wątki (utworzone po wyczerpaniu dostępnych wątków) będą usuwane w momencie zakończenia połączenia z klientem.
W każdym wątku będą odczytywane zapytania, na ich podstawie generowane odpowiedzi i wysyłane do klienta. Dla zapytań protokołu HTTP/0.9 i HTTP/1.0, połączenie będzie kończone po każdym wysłaniu odpowiedzi do klienta. W przypadku protokołu HTTP/1.1 połączenie będzie utrzymywane w celu obsługi kolejnego zapytania od klienta. Jeżeli dane nie zostaną dostarczone w określonym czasie, połączenie zostanie przerwane. Dla obsługi połączeń trwałych potokowanych zostanie wykorzystany bufor protokołu TCP przechowujący informacje wysłane przez klienta.

Rys. 2.2 Schemat przebiegu połączenia z klientem.
Serwer HTTP 