Red de conocimiento informático - Computadora portátil - Lo que los desarrolladores de aplicaciones deben saber sobre las cookies y las sesiones

Lo que los desarrolladores de aplicaciones deben saber sobre las cookies y las sesiones

Sabemos que actualmente las aplicaciones móviles se dividen básicamente en dos tipos: Android e iOS: las aplicaciones de Android actualmente se desarrollan usando Android/Kotlin, mientras que las aplicaciones de iOS se desarrollan usando Object-C/Swift. Lo principal que tienen en común es que llaman a los componentes nativos del teléfono móvil, de modo que se pueda aprovechar al máximo el rendimiento original del teléfono móvil. Ya sea en términos de estética de la interfaz o fluidez de uso, tiene grandes ventajas en comparación con las aplicaciones desarrolladas en forma React-Native. Todos se desarrollan después de PC. Para que sean compatibles con las páginas de PC, todos tienen componentes especiales para cargar páginas web: WebView en Andriod, UIWebView/WKWebView en iOS, por lo que, como desarrollador móvil, necesita solicitudes de front-end para las tradicionales. páginas web / Tener un conocimiento básico del proceso de implementación de respuesta backend.

Sabemos de lo que hablamos.

Sabemos que un proceso de solicitud completo incluye dos procesos:

El primer paso es enviar una solicitud desde la PC y enviar una solicitud detallada a través de la línea de solicitud, el encabezado de la solicitud y cuerpo de la solicitud; el segundo paso es que el servidor procese la solicitud después de recibirla y responda de acuerdo con el contenido específico de la solicitud. En este diálogo entre el lado de la PC y el lado del servidor, el servidor necesita resolver los dos problemas siguientes para administrar la sesión:

1. ¿Cómo identificar diferentes PC?

2 ¿Cómo identificar diferentes solicitudes en el lado del servidor?

La pregunta 1 es identificar al cliente. Si define una identidad de ID para un cliente en una sesión, el servidor puede proporcionar servicios personalizados a ese cliente. Es como si alguien fuera a una nueva barbería para cortarse el pelo y la barbería inicialmente utiliza el mismo proceso que utilizan para las personas nuevas: "Recomiendo encarecidamente una tarjeta de presentación", "Pregunta qué tipo de peinado te gustaría", etc. Pero si se convierte en miembro de una barbería, el cliente puede brindarle un servicio personalizado. Pero si te conviertes en VIP de la barbería y tienes una tarjeta de membresía (con identidad), entonces la barbería puede brindarte servicios basados ​​en tus registros de servicio, como recomendar tu peinado favorito, preguntarte cómo te sentiste con tu último corte de cabello, etcétera.

La solicitud de red real se resuelve de manera similar al proceso descrito anteriormente, utilizando una cookie como ID que identifica al cliente. Durante la primera sesión de solicitud de red, el servidor define una cookie que identifica al cliente, la devuelve al cliente y la almacena en la memoria caché del cliente. Cuando el cliente envía otra solicitud, pasa su cookie al servidor, que la reconoce y adapta la respuesta. Por ejemplo, la última hora de navegación que vemos a menudo cuando navegamos por foros, así como el historial de navegación en sitios web de compras, se basan en cookies. Las siguientes son cookies que generan las herramientas de desarrollo de Google al acceder a ellas:

Las cookies tienen las siguientes características:

1 Tiene un periodo de validez, al igual que el saldo de la tarjeta de una peluquería, es no válido al vencimiento;

2 Se pueden configurar múltiples cookies para la misma solicitud, de manera similar a cómo una persona puede solicitar

múltiples VIP en una barbería para disfrutar de diferentes servicios.

2 La misma solicitud también puede configurar múltiples cookies, similar a cómo una persona puede solicitar múltiples VIP en una barbería y disfrutar de diferentes tipos de servicios.

3 La misma PC puede; Existen diferentes cookies para corresponder a diferentes servidores;

El servidor en cuestión 2 utiliza sesiones para distinguir diferentes solicitudes de red. Esto es como cuando una persona va a una barbería, el dueño de la tienda (servidor) concertará un barbero (solicitud de red) para que lo atienda. Por tanto, las sesiones y las cookies se corresponden entre sí y son creadas y definidas por el servidor. La diferencia es que la sesión se almacena en el servidor, mientras que la cookie la crea el servidor y se almacena en el cliente. El uso de la sesión también puede lograr el efecto de las cookies.

Las sesiones almacenadas en el servidor evitan el problema de que la información se almacene en el cliente y luego el usuario la borre manualmente, pero, por otro lado, también aumenta la presión de almacenamiento en el servidor.

En resumen, las cookies/sesión son identificadores que se corresponden entre sí en las solicitudes de red. Al utilizar cookies/sesiones, el servidor puede adaptar su respuesta a las solicitudes web.

IDEA se puede utilizar para simular el proceso de solicitud/respuesta de la red del lado de la PC. Se requiere el siguiente entorno:

1 servidor Tomcat;

2 Java Servlet como programa de servicio back-end

3 IntelliJ IDEA como entorno de desarrollo integrado;

p>

Si no sabe cómo utilizar IntelliJ IDEA para configurar Tomcat y Java Servlet, consulte mi artículo anterior: Simulación de solicitudes web de servlet basadas en IntelliJ IDEA