tom000 - Personal Website - Strona główna
decor1 Serwer HTTP decor2

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.

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

← Start serwera Serwer HTTP Tworzenie odpowiedzi →
Copyleft (C) tom000.info 2004-2012. Some rights reserved.