Cookies vs Sessões
HTTP é stateless, o que significa que quaisquer dados armazenados são destruídos quando o cliente recebe a página do servidor e a conexão é fechada. Cookies e sessões são duas soluções para este problema. Cookie é uma informação muito pequena que é armazenada na máquina do cliente pelo site e é enviada de volta ao servidor cada vez que uma página é solicitada. Sessão é uma maneira de armazenar informações no servidor e não na máquina do cliente.
O que são Cookies?
Netscape introduziu o conceito de cookies com seu navegador Netscape Navigator. Cookie é uma informação muito pequena que é armazenada na máquina do cliente pelo site e é enviada de volta ao servidor cada vez que uma página é solicitada. Como os cookies são enviados de volta a cada vez, uma quantidade mínima de dados deve ser salva para economizar largura de banda. Um site lê apenas o cookie escrito por ele, fornecendo assim um meio seguro de armazenar informações em diferentes páginas. No entanto, os cookies não receberam um bom nome inicialmente, devido a rumores de que os cookies poderiam ler todas as informações no disco rígido. Claro, esse equívoco desapareceu quando as pessoas perceberam que os cookies são realmente inofensivos e agora são altamente aceitos. Os cookies têm um certo tempo de vida definido por seus criadores. No final disso, um cookie expira. Os cookies geralmente rastreiam informações como a frequência com que o usuário visita, quais são os horários das visitas, quais banners foram clicados, preferências do usuário etc. Os cookies geralmente são usados para armazenar informações necessárias por períodos mais curtos. Se informações como endereços de e-mail (que devem ser mantidos por períodos mais longos) precisam ser armazenadas, o programador precisa usar um banco de dados em vez de cookies. No entanto, se as informações pessoais forem armazenadas em cookies, a criptografia precisará ser usada para melhorar a segurança.
O que são sessões?
Sessão é outro meio de armazenar informações nas páginas. Mas isso é feito no lado do servidor. A sessão realmente usa um cookie do lado do servidor e um do lado do cliente para armazenar dados. Mas o cookie do lado do cliente armazena apenas uma referência aos dados correspondentes armazenados no servidor. Quando o usuário visita o site, o cookie do lado do cliente (com um número de referência) é enviado ao servidor, e o servidor usa esse número para carregar os dados do usuário. O cookie do lado do servidor pode armazenar grandes quantidades de dados. Como o cookie do lado do cliente armazena apenas o número de referência, a largura de banda é economizada imensamente. Como os dados da sessão são armazenados no servidor, eles ficam muito mais protegidos.
Qual é a diferença entre Cookies e Sessões?
Embora cookies e sessões sejam duas maneiras de armazenar informações em páginas da web, elas têm suas diferenças. Os cookies armazenam apenas cookies do lado do cliente, enquanto as sessões usam cookies do lado do cliente e do lado do servidor. As sessões podem armazenar grandes quantidades de dados em comparação com os cookies. Como as sessões armazenam apenas o número de referência na máquina do cliente, o uso da largura de banda é menor em comparação ao uso de cookies. Os dados da sessão são relativamente mais seguros, pois os cookies podem ser manipulados pelo usuário.