Em redes de computadores, uma conexão persistente, também chamada de conexão “keep-alive”, ou uma conexão pegajosa, é uma conexão de protocolo de controle de transmissão (TCP) que permanece aberta para mais pedidos e respostas entre os mesmos dispositivos de comunicação.
Em contraste, uma ligação não-sustentada ou semi-aberta é fechada após cada pedido e resposta. A vantagem de uma conexão persistente é que, uma vez estabelecida, ambos os lados podem enviar e receber dados a qualquer momento sem a sobrecarga do restabelecimento de uma conexão.
A conexão persistente HTTP, também chamada de HTTP keep-alive, ou reutilização de conexão HTTP, é a idéia de usar uma única conexão TCP para enviar e receber múltiplos pedidos/respostas HTTP, ao invés de abrir uma nova conexão para cada par pedido/resposta. O que é HTTP keep-alive timeout? O HTTP keep-alive timeout é a quantidade de tempo que um servidor irá manter uma conexão HTTP viva. Após o timeout expirar, o servidor irá fechar a conexão. O timeout é tipicamente definido para um valor entre 15 e 60 segundos. O HTTP tem um timeout? HTTP não tem um timeout em si, mas o servidor que está hospedando o site pode ter um timeout definido. Se o servidor tiver um timeout, então o site não estará acessível. Quantas conexões TCP o HTTP usa? HTTP usa uma única conexão TCP para enviar e receber dados. O HTTP usa múltiplas conexões TCP? Sim, HTTP usa múltiplas conexões TCP. Quando um cliente faz um pedido HTTP, ele abre uma nova conexão TCP para o servidor. O servidor então responde por essa mesma conexão. O cliente pode então fazer outro pedido sobre uma nova conexão TCP, ou pode reutilizar a mesma conexão para pedidos múltiplos. A conexão HTTP é orientada ou sem conexão? HTTP é um protocolo orientado à conexão. Isto significa que uma conexão é estabelecida entre o cliente e o servidor, e os dados são trocados através dessa conexão. Uma vez que os dados tenham sido trocados, a conexão é fechada.