Porém, existem duas maneiras de se usar esse protocolo TCP no HTTP, que é através de uma conexão persistente ou conexão não persistente, que iremos entrar em detalhes neste tutorial de nossa apostila de redes de computadores.
HTTP e Conexão Não Persistente
Uma delas é através da criação de conexão TCP para o envio de cada objeto de uma página da Web.
Para isso, é importante entender o que é uma página da web e objetos, assuntos que foram explicados no tutorial passado de nossa apostila de redes.
Dizemos que um determinado tipo de conexão é não persistente quando, ao realizar a transferência de um objeto entre cliente e o servidor, esta conexão TCP é fechada. Ou seja, ela não persiste, não continua funcionando para outros objetos da página web.
Apresentação de 3 vias (3 way handshake)
Sempre que seu navegador requisita uma página da Web para um servidor, uma conexão de TCP é iniciada.Então, acontecerá uma espécie de 'apresentação', entre você e o servidor, que é feito através de três passos.
Primeiro, o cliente envia uma mensagem (segmento TCP) para o servidor.
Em seguida, o servidor faz o reconhecimento deste segmento e envia uma resposta para o cliente.
Por fim, o cliente confirma que recebeu a resposta do servidor (e a conexão TCP já está feita para o transporte de pacotes), e junto com esta resposta já envia uma requisição HTTP para receber a página da Web e seus objetos.
HTTP e Conexão Persistente
Na conexão não persistente, explicada anteriormente, após o servidor enviar o objeto para o cliente, ele já fechava a conexão TCP.No modo persistente, ele não faz isso.
Ou seja, a conexão TCP fica aberta e disponível para o envio de outros objetos pelo servidor ou novos pedidos de requisição pelo cliente. As conexões são encerradas quando houver um tempo sem requisição e envio algum.
Por padrão, o HTTP utiliza a maneira persistente, mas com paralelismo (vários envios ao mesmo tempo).
Conexão Persistente e Não Persistente - Vantagens e Desvantagens
É extremamente seguro e confiável que cada objeto tenha sua próxima conexão TCP.Isso trás uma excelente garantia para o cliente de que os dados enviados para o servidor serão entregues da maneira correta, e que cada um deles tenha até control de congestionamento.
É interessante, por exemplo, que uma transação bancária seja feita dessa maneira.
Porém, uma página da Web pode facilmente ter centenas ou milhares de objetos.
Imagine então o custo que teria de realizar uma conexão TCP diferente (incluindo a apresentação de 3 vias) para cada objeto?
Obviamente que ia demorar muito mais com o uso de conexões não persistentes.
Por isso, uso ou não da persistência vai depender totalmente da aplicação que você deseja criar e de seu funcionamento.
Nenhum comentário:
Postar um comentário