Definice a význam Keep-Alive

Co je Keep-Alive?

Keep-Alive je hlavička HTTP, která umožňuje webovému serveru použít jedno připojení pro více požadavků od webového prohlížeče. Servery s protokolem HTTP/1 mají často zapnutou funkci keep-alive, která zlepšuje výkon webových stránek. Hlavička keep-alive se v protokolu HTTP/2 nepoužívá, protože se jedná o výchozí chování protokolu HTTP/2 protokol.

Pokud je funkce Keep-Alive na webovém serveru zapnutá, vytváří trvalé spojení mezi serverem a klienty (návštěvníky webových stránek). Spojení TCP zůstává otevřené, dokud není uzavřeno nebo nevyprší jeho časový limit. Protože každé spojení TCP musí dokončit proces handshake, prodlužuje se při vícenásobném připojení doba načítání stránky. Funkce Keep-Alive poskytuje prohlížečům způsob, jak odebrat všechny prostředky webové stránky, jako jsou obrázky a soubory CSS, během jediného připojení.

Nevýhodou funkce Keep-Alive je, že vyžaduje více systémových prostředků od webového serveru. Pokud jsou webové stránky na serveru hodně navštěvovány, může být najednou otevřeno několik – případně několik tisíc – trvalých připojení. Nakonec se může stát, že server nebude schopen nová připojení zpracovávat a přestane reagovat. Apache poskytuje následující směrnice, které mají zabránit tomu, aby servery dosáhly maximální kapacity:

* KeepAliveTimeout – maximální doba, po kterou může trvalé spojení zůstat otevřené a čekat na nové požadavky
* MaxKeepAliveRequests – maximální počet požadavků povolených v rámci jednoho spojení, než je třeba jej resetovat

Chcete-li na serveru Apache povolit funkci keep-alive, přidejte následující kód do souboru include celého serveru nebo do souboru .HTACCESS konkrétní webové stránky:

<IfModule mod_headers.c>
    Nastavení hlavičky Connection keep-alive
</IfModule>

Definice Keep-Alive na této stránce je původní definice na SharTec.eu. Pokud chcete na tuto stránku odkázat, nezapomeňte uvést zdroj článku.

Cílem webu SharTec.eu je srozumitelně vysvětlit počítačovou terminologii. Snažíme se o jednoduchost a přesnost každé definice, kterou zveřejňujeme. Pokud máte připomínky k definici jazyka Keep-Alive nebo chcete navrhnout nový technický termín, kontaktujte nás.

Cieľom stránky SharTec.eu je vysvetľovať počítačovú terminológiu zrozumiteľným spôsobom. Pri každej uverejnenej definícii sa snažíme o jednoduchosť a presnosť. Ak máte pripomienky k definícii jazyka Keep-Alive alebo chcete navrhnúť nový technický termín, kontaktujte nás.