Qual é a diferença entre o cookie do lado do servidor e o cookie do lado do cliente?

Qual é a diferença entre Criar cookies no servidor e no cliente? São chamados de cookies do lado do servidor e cookies do lado do cliente? Existe uma maneira de criar cookies que só podem ser lidos no servidor ou no cliente?

Author: Richard Garside, 2011-08-03

3 answers

COOKIES HTTP

Os Cookies são pares chave / valor utilizados pelos sítios web para armazenar informações estatais no navegador. Digamos que você tem um site (example.com), quando o navegador pede uma página web, o site pode enviar cookies para armazenar informações no navegador.

Exemplo de pedido do Navegador:
GET /index.html HTTP/1.1
Host: www.example.com

Resposta de exemplo do servidor:

HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: foo=10
Set-Cookie: bar=20; Expires=Fri, 30 Sep 2011 11:48:00 GMT
... rest  of the response

Aqui dois cookies foo=10 e bar=20 são armazenados no navegador. A segunda expira em 30 de setembro. Em cada solicitar o navegador irá enviar os cookies de volta para o servidor.

GET /spec.html HTTP/1.1
Host: www.example.com
Cookie: foo=10; bar=20
Accept: */*

Sessões: 'cookies' do lado do Servidor

Os cookies do lado do servidor são conhecidos como"sessions". O site, neste caso, armazena um único cookie no navegador contendo um identificador de sessão único. As informações de Estado (foo=10 e bar = 20 acima) são armazenadas no servidor e o identificador de sessão é usado para corresponder a solicitação com os dados armazenados no servidor.

Exemplos de Utilização

Pode usar ambas as sessões e cookies para armazenar: dados de autenticação, preferências do usuário, o conteúdo de um gráfico em um site de E-commerce, etc...

Prós e contras

Abaixo dos prós e contras das soluções. Estes são os primeiros que vêm à minha mente, certamente há outros.

Profissionais De Bolachas:

  • escalabilidade: todos os dados são armazenados no navegador para que cada pedido possa passar por um balancer de carga para diferentes webservers e você tem todas as informações necessárias para preencher o pedido;
  • eles podem ser acessados através de javascript no navegador;
  • Se não estiverem no servidor, sobreviverão ao recomeço do servidor.
  • RESTful: os pedidos não dependem do Estado do servidor

Cons De Cookies:

Sessão Prós:

  • geralmente mais fácil de usar, em PHP provavelmente não há muita diferença.
  • armazenamento ilimitado

Conss Da Sessão:

  • mais difícil de escalar
  • nos reiniciamentos do servidor web pode perder todas as sessões ou não dependendo da implementação
  • sem descanso
 113
Author: filippo, 2015-11-03 17:35:46

Você provavelmente quer dizer a diferença entre cookies apenas Http e a sua parte do contador?

Só os 'cookies' de Http não podem ser acedidos (lidos ou escritos para) no JavaScript do lado do cliente, apenas no lado do servidor. Se a bandeira Http somente não está definida, ou o cookie é criado em JavaScript (lado cliente), o cookie pode ser lido e escrito para JavaScript (lado cliente), bem como lado servidor.

 46
Author: nikc.org, 2015-10-07 16:14:41
Não há diferença. Um cookie regular pode ser definido lado servidor ou lado cliente. O cookie será enviado de volta com cada pedido. Um cookie que é definido pelo servidor, será enviado ao cliente em uma resposta. O servidor só envia o cookie quando ele está explicitamente definido ou alterado, enquanto o cliente envia o cookie em cada pedido. Mas é a mesma bolacha.
 22
Author: GolezTrol, 2011-08-03 06:28:02