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

Połączenia trwałe

    Specyfikacja HTTP/1.1 wprowadza jako domyślne połączenia trwałe ([13], str.29). Oznacza to, że klient łączący się z serwerem przy jednym połączeniu może wysłać wiele zapytań do serwera i nie ma on konieczności informowania serwera przy każdym zapytaniu o chęci utrzymania tego połączenia (rys. 1.4). Jeżeli połączenie ma zostać przerwane przez serwer, to on musi zwrócić informację do klienta o zakończeniu połączenia. Służy do tego nagłówek „Connection” z wartością „close”. Nagłówek ten może również być wysłany przez klienta, który chce poinformować serwer, że już nie będzie wysyłał aktualnym połączeniem następnego zapytania i po otrzymaniu odpowiedzi można zamknąć połączenie. Klient nie ma jednak takiego obowiązku, więc po stronie serwera należy zaimplementować mechanizm przerywający połączenie z klientem, po określonym czasie nieaktywności.

    Klient obsługujący połączenia trwałe może wysyłać wiele zapytań do serwera - jedno po drugim, bez oczekiwania pomiędzy nimi na odpowiedź serwera (rys. 1.5). Są to tak zwane połączenia trwałe potokowane (pipelining). Takie zapytania powinny być buforowane gdzieś po stronie serwera, przetwarzane, a następnie odpowiedzi wysłane w kolejności takiej, w jakiej napływały zapytania. Serwer nie ma tutaj obowiązku obsłużenia wszystkich zapytań otrzymanych od klienta – może przerwać połączenie z klientem (komunikując to w ostatniej wysłanej odpowiedzi) np. w momencie wystąpienia błędu, a obsłużenie takiej sytuacji leży już po stronie klienta.

 

← Kompatybilność wstecz Serwer HTTP Metody →
Copyleft (C) tom000.info 2004-2012. Some rights reserved.