1 Star 0 Fork 0

huyi / TechCPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Cookie和SessioN.md 1.89 KB
一键复制 编辑 原始数据 按行查看 历史
葛昆仑 提交于 2024-02-16 22:03 . update:14 articles

Cookie

Cookie是存储在客户端(通常是用户的浏览器)上的小型数据片段。服务器通过HTTP响应头向浏览器发送Cookie,浏览器会将这些信息存储起来,并在之后的每个请求中通过HTTP请求头将Cookie发送回服务器。Cookie主要用于:

  • 跟踪用户会话
  • 存储用户偏好
  • 实现自动登录等功能

Cookie数据是以键值对的形式存储的,每个Cookie都有过期时间,过期后会自动删除。由于Cookie存储在客户端,因此其容量受到限制(每个域名下大约4KB),且存在安全隐患,比如易于被篡改和第三方读取。

Session

Session是服务器端用来存储信息的机制。当用户访问Web应用时,服务器可以为该用户创建一个唯一的Session对象,并为这个会话分配一个唯一的Session ID。这个Session ID通常会通过Cookie发送给用户浏览器存储(尽管也有其他传输方式,如URL重写)。用户在后续请求中提交这个Session ID,服务器就能识别出对应的用户会话。

使用Session的目的是:

  • 管理用户会话
  • 存储用户特定的数据,如购物车内容、用户ID等

与Cookie相比,Session更加安全,因为数据存储在服务器端,外界无法直接访问。此外,由于存储在服务器,理论上可以存储更多的数据,不过这也会增加服务器的内存消耗。

Cookie与Session的关联

虽然Cookie和Session各有不同,但它们经常一起使用来管理用户会话。一个典型的流程是:

  1. 用户首次访问网站时,服务器创建一个Session对象并生成一个唯一的Session ID。
  2. 这个Session ID通过设置Cookie发送给用户浏览器。
  3. 用户在后续的请求中,浏览器会自动将这个Session ID随着请求一起发送给服务器。
  4. 服务器接收到Session ID后,识别出对应的用户会话,进行相应的处理。
1
https://gitee.com/hylhm/TechCPP.git
git@gitee.com:hylhm/TechCPP.git
hylhm
TechCPP
TechCPP
master

搜索帮助