AWWW-1st3.6-w04.tresc-1.1-Slajd19

Z Studia Informatyczne
Wersja z dnia 09:28, 29 wrz 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Mechanizm Persistent Connections

Mechanizm Persistent Connections


Ze względu na specyfikę języka HTML często zdarza się, że w celu obsługi pojedynczego żądania użytkownika końcowego konieczne jest wykonanie przez klienta HTTP całej serii żądań HTTP. Przykładowo, gdy użytkownik pobiera stronę HTML zawierającą dziesięć fotografii, to klient HTTP musi łącznie zażądać jedenastu oddzielnych plików. Ponieważ podstawowym założeniem protokołu HTTP jest realizowanie jednego żądania HTTP w ramach jednego połączenia sieciowego, to klient HTTP musiałby jedenastokrotnie nawiązywać połączenie sieciowe z serwerem HTTP. Powoduje to duże narzuty czasowe i w konsekwencji wydłużenie czasu odpowiedzi na żądanie użytkownika końcowego.

W specyfikacji 1.1 protokołu HTTP zaproponowano mechanizm połączeń sieciowych o przedłużonej żywotności (Persistent Connections, Keep-Alive). Polega on na nie zamykaniu połączenia sieciowego bezpośrednio po odebraniu odpowiedzi HTTP, lecz na umożliwieniu klientowi HTTP wysłania kolejnego żądania HTTP poprzez zestawione już połączenie. Dzięki temu czas pobrania wszystkich składników skomplikowanego dokumentu ulega skróceniu.

Ponieważ mechanizm Persistent Connections stwarza zagrożenie atakami typu Denial of Service, to zwykle serwery HTTP ograniczają zarówno liczbę żądań HTTP, jakie wolno przesłać w ramach raz zestawionego połączenia, jak i czas bezczynności połączenia otwartego przez klienta HTTP.


<< Poprzedni slajd | Spis treści | Następny slajd >>