首页 > 其他分享 >cookie&session

cookie&session

时间:2024-11-06 22:11:53浏览次数:1  
标签:cookie Session 会话 session Cookie 服务器 ID 客户端

Cookie

Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器。
作用:

会话管理: 记录用户的登录状态、购物车内容等。
个性化: 存储用户的偏好设置,如语言、主题等。
追踪: 用于分析用户行为,进行广告投放等。
特点:

存储在客户端: Cookie 存储在用户的浏览器中。
大小限制: 通常每个 Cookie 的大小限制为 4KB。
生命周期: 可以设置 Cookie 的过期时间,可以是会话级别的(关闭浏览器后失效)或持久性的(指定过期时间)。
安全性: 可以通过设置 HttpOnly 和 Secure 属性来提高安全性,防止 XSS 和中间人攻击。
创建和使用:

服务器通过 HTTP 响应头 Set-Cookie 来创建 Cookie。
浏览器在后续请求中通过 Cookie 请求头将 Cookie 发送回服务器。
示例:

Set-Cookie: sessionId=abc123; Expires=Wed, 09 Jun 2024 10:18:14 GMT; Secure; HttpOnly
2. Session
定义:

Session 是一种服务器端的状态管理机制,用于在多个请求之间保持用户状态。
作用:

会话管理: 存储用户的登录状态、购物车内容等。
数据存储: 存储用户相关的临时数据,如表单数据、用户偏好等。
特点:

存储在服务器端: Session 数据存储在服务器上,通常存储在内存、数据库或文件系统中。
会话标识: 通常使用一个唯一的会话 ID(Session ID)来标识用户会话,这个 ID 通常通过 Cookie 传递给客户端。
生命周期: 会话通常在用户关闭浏览器或服务器端设置的超时时间后失效。
创建和使用:

服务器在用户首次访问时创建一个会话,并生成一个唯一的会话 ID。
服务器将这个会话 ID 通过 Cookie 发送给客户端。
客户端在后续请求中通过 Cookie 携带会话 ID,服务器根据会话 ID 查找对应的会话数据。
示例:

服务器创建会话并设置会话 ID:
Set-Cookie: sessionId=abc123; HttpOnly
客户端请求时携带会话 ID:
Cookie: sessionId=abc123
3. Cookie 和 Session 的关系
依赖关系: Session 通常依赖于 Cookie 来传递会话 ID。
安全性: Session 比 Cookie 更安全,因为敏感数据存储在服务器端,而不是客户端。

标签:cookie,Session,会话,session,Cookie,服务器,ID,客户端
From: https://www.cnblogs.com/wjhfree/p/18531154

相关文章

  • 使用 requests 创建 Cookies 时遇到“系统不知道 filename 哪来的”错误,如何修复?
    在使用requests库创建Cookies时,开发者有时可能会遇到“系统不知道filename哪来的”这样的错误提示。这类错误通常与使用Cookies时的文件路径或文件名问题相关,尤其是在处理Cookie存储时,可能会产生一些文件系统的误解。本文将探讨此错误的产生原因,并提供相应的修复方法。......
  • 前端数据持久化指南:LocalStorage、SessionStorage 等的区别与应用
    一、引言在前端开发中,数据持久化是一个至关重要的需求。它能够确保用户在不同页面切换、刷新页面或者关闭浏览器后,数据仍然能够被保存和恢复。本文将详细介绍几种实现前端数据持久化的方法,并深入分析它们之间的区别。二、实现前端数据持久化的方法(一)LocalStorage介绍:LocalS......
  • 彻底理解cookie、session、token
    先上结论:    在前端开发中,Cookie、Session和Token是三种常用的技术,用于管理用户的认证和状态。初级程序员第一次看到这些概念第一眼一定是懵逼的,不知道如何使用,它们其实各自具有不同的特性和应用场景,共同构成了前端应用中用户会话管理的基石。下面将详细解析这三种技......
  • 代码实战中okHttp和cookie的使用
    在该文中,将大量使用代码举例,包括韩请求参数,get,post请求,请求体,添加cookie,token等的url示例获取请求体中的多个cookieMap<String,String>result=newHashMap<>();List<String>cookies=response.headers("Set-Cookie");result.put("cookie",String.join(";&q......
  • 猿人学web端爬虫攻防大赛赛题第2题——动态cookie
    题目网址:https://match.yuanrenxue.cn/match/2解题步骤看触发的数据包。在请求头中的cookie字段中m变量的值一看就是加密过的。看Initiator模块中的request。点进去,打断点。我们只能在响应内容中看到页面数据,但是关于m的加密却是没有看到。刷新界面,出现如下画面......
  • Nginx反向代理报错400 Request Header Or Cookie Too Large
    RequestHeaderOrCookieTooLarge1、问题2、原因3、解决1、问题Nginx反向代理报错400RequestHeaderOrCookieTooLarge400RequestHeaderOrCookieTooLarge2、原因假设需要重定向到:www.baidu.com报错的配置如下:location/my-pc{acce......
  • localStorage、sessionStorage、cookie数据共享问题
    1、localStorage必须要符合同源策略(协议、域名、端口相同)才能共享同网址共享2、sessionStorage(1)只有同一个浏览器窗口才共享,不能在不同的标签页或窗口之间共享数据,即使它们属于同一个源。(2)如果通过window.open再次打开这个页面,那么数据会跟着复制过去,但是也不共享//在标签......
  • session
    Session存在服务器内存中HttpSession是一种保留更多信息在服务端的一种技术,服务器会为每一个客户端开辟一块内存空间,即session对象.客户端在发送请求时,都可以使用自己的session.这样服务端就可以通过session来记录某个客户端的状态了工作流程服务端在为客户端创建session......
  • Cookie和Session
    Cookie存储位置:Cookie是存储在客户端(浏览器)中的小文本文件。每当用户访问网站时,浏览器会将这些Cookie发送给服务器。生命周期:Cookie可以设置过期时间。它们可以是会话Cookie(当浏览器关闭时失效)或持久Cookie(在设定的过期时间之前有效)。容量限制:每个Cookie的大......
  • HttpSession和Cookie的管理对于维持用户会话
    1.HttpSession生命周期HttpSession用于在服务器端维持用户会话,从首次访问网站开始创建,通过唯一的SessionID标识。会话生命周期通常由用户活动(如页面刷新、导航)延续,超时或注销后会话销毁。默认情况下,会话在设定的时间无活动后超时,但可以通过Cookie持久化,实现跨页面、跨浏览器......