Il termine “keepalive” si riferisce a un processo mediante il quale un segnale viene inviato tra due sistemi connessi, spesso attraverso una rete come Internet, per mantenere attiva la connessione tra questi due sistemi. Quando un utente di un computer, ad esempio, accede a una pagina Web, il suo computer invia una richiesta di informazioni dal computer, o client, al server per quella pagina Web. Dopo l’accesso alle informazioni e l’invio delle informazioni al client da parte del server, in genere c’è un determinato periodo di tempo dopo il quale la connessione tra client e server verrà interrotta. Quando viene inviato un segnale keepalive, tuttavia, mantiene attiva quella connessione.
In generale, il termine “keepalive” è tipicamente usato per riferirsi sia al segnale che viene inviato che al processo di invio. Il segnale stesso di solito non contiene dati diversi dalla richiesta di risposta dal server, il che significa che viene utilizzata poca larghezza di banda per inviare questo tipo di messaggio. Una volta che il server riceve il segnale, risponde con un segnale di riconoscimento, o ACK, che viene ricevuto dal client. La programmazione di un protocollo keepalive su un client in genere stabilisce un timer che determina quando viene inviato il messaggio successivo.
Esistono diversi motivi per utilizzare un segnale keepalive, anche se in genere viene utilizzato per testare una connessione o per impedire che venga terminata. Quando viene utilizzato per testare una connessione, il segnale viene inviato dal client in base a un timer impostato nello script per il protocollo keepalive. Finché il segnale viene riconosciuto, il sistema continua a funzionare normalmente. Se il segnale non viene ricevuto, invece, può essere data una notifica all’utente del client indicando che la connessione non è più attiva.
Molte reti, in particolare le reti di grandi dimensioni come Internet, sono progettate con server che interrompono automaticamente la connessione a un client dopo un determinato periodo di tempo. Questo viene fatto per consentire la creazione di nuove connessioni, poiché le connessioni client-server sono in numero finito. Un segnale keepalive può anche essere utilizzato per evitare che si verifichi questa terminazione automatica. Quando il client invia un segnale keepalive al server, indica che la connessione è ancora in uso, il che impedisce al server di terminare automaticamente la connessione. Questo viene spesso fatto su siti Web che consentono connessioni persistenti, sebbene questo non sia un metodo garantito per garantire una connettività continua.