Sobes.tech
Junior — Middle

O que significa JSESSIONID no ficheiro cookie e como é utilizado para identificar a sessão do utilizador?

sobes.tech IA

Resposta da IA

JSESSIONID é um identificador de sessão que o servidor Java EE (por exemplo, Tomcat) cria para cada utilizador na sua primeira interação com a aplicação web. Este identificador é guardado numa cookie chamada JSESSIONID e enviado ao cliente.

Quando o cliente faz pedidos subsequentes, o navegador envia automaticamente esta cookie de volta ao servidor. O servidor, usando o valor de JSESSIONID, encontra a sessão correspondente do utilizador, onde o estado é guardado (por exemplo, dados de autorização, carrinho de compras, etc.). Assim, o JSESSIONID permite manter o estado entre pedidos no protocolo HTTP, que por padrão é sem estado.

Exemplo:

// Obtenção da sessão num servlet
HttpSession session = request.getSession();
// session.getId() retornará o valor de JSESSIONID

Se os cookies estiverem desativados, o identificador de sessão pode ser passado através da URL, mas isto é menos seguro e conveniente.