Comprenda la sesión, la cookie y el token a la vez y resuelva todas las preguntas de la entrevista
01
¿Qué son?
Sesión:
La traducción china de sesión es "sesión". Cuando un usuario abre una aplicación web, se crea una sesión con el servidor web. El servidor utiliza la sesión para guardar temporalmente la información del usuario en el servidor. La sesión se destruirá después de que el usuario abandone el sitio. Este método de almacenar información del usuario es más seguro que las cookies, pero la sesión tiene un defecto: si el servidor web tiene la carga equilibrada, la sesión se perderá cuando la siguiente solicitud de operación vaya a otro servidor.
Cookie:
Cookie es un dato almacenado en el terminal local. La cookie es generada por el servidor y enviada al navegador. El navegador guarda la cookie en formato kv en un archivo grabado. La cookie se enviará al servidor la próxima vez que solicite el mismo sitio. Dado que las cookies se almacenan en el cliente, el navegador ha agregado algunas restricciones para garantizar que las cookies no se utilicen de forma maliciosa y no ocupen demasiado espacio en el disco, por lo que la cantidad de cookies para cada dominio es limitada.
Los componentes de una cookie son: nombre (clave), valor (valor), dominio válido (dominio), ruta (ruta del dominio, generalmente configurada en global: ""), tiempo de vencimiento, indicador de seguridad ( especificado Finalmente, la cookie sólo se envía al servidor al realizar una conexión SSL (https).
token:
Token significa "token", que es el método de verificación de la identidad del hogar. El token más simple consta de: uid (identificación de identidad del hogar Wei), hora (marca de tiempo actual). del tiempo), signo (firma, que se comprime en una cadena hexadecimal de longitud fija mediante un algoritmo hash desde el primer dígito del token + sal, lo que puede evitar un tercer empalme malicioso de solicitudes de token al servidor). También puede colocar parámetros sin cambios en el token para evitar múltiples comprobaciones de la base de datos.
02
¿Cuál es la relación entre ellos?
Tanto la cookie como la sesión pueden ser una forma de almacenar tokens.
Las cookies son datos almacenados localmente, que se enviarán al servidor para su verificación al realizar una solicitud.
La sesión son datos de la memoria almacenados en el servidor. Mientras no se interrumpa la sesión, los datos seguirán siendo válidos.
En términos generales, token pertenece a token, cookie y sesión, que son una forma de almacenar y usar datos. Los tokens se pueden almacenar en cookies y sesiones, pero de hecho, se puede lograr lo mismo. Parámetros de URL o parámetros de formulario. Sin embargo, el costo de desarrollo y mantenimiento es alto. Una vez que el backend requiere la modificación de parámetros, este método de uso es un dolor de cabeza para la modificación.
03
¿Cuáles son sus diferencias esenciales?
La forma en que se utiliza la sesión es almacenar la identificación en la cookie del cliente y almacenar los datos del usuario en la sesión del servidor. Cuando el cliente accede al servidor, encuentra los datos del usuario según la identificación.
La forma en que se utiliza el token es almacenar la identificación (es decir, el token), la información del usuario y el texto cifrado en el cliente. No se almacena nada en el servidor. El servidor solo tiene un código de cifrado para determinar el actual. cifrado si el texto cifrado es coherente con el texto cifrado pasado por el cliente. Si es inconsistente, significa que los datos del usuario del cliente han sido manipulados. Si es consistente, significa que los datos del usuario del cliente son normales y correctos.
Proceso:
Sesión, registro e inicio de sesión -> El servidor almacena al usuario en la sesión -> Almacena el sessioni en la cookie del navegador -> Encuéntrelo según el sessionid en la cookie cuando vuelve a visitar al usuario en sesión.
Token, registrarse e iniciar sesión -> El servidor genera un token basado en la información y la clave del usuario -> Devuelve el token+usuario al navegador -> Pasa los datos del token+usuario+texto cifrado al acceder nuevamente y el fondo lo procesará nuevamente. Utilice el usuario y la clave para generar un token y compárelo con el token pasado. Si es consistente, es correcto.
Los conceptos de sesión, cookie y token aparecen a menudo en las entrevistas, porque a través de este concepto, básicamente puede comprender si tiene algún conocimiento y práctica sobre las solicitudes de red o la gestión de permisos.