cookie和session区别及联系

区别

  • http的无状态请求
    因为http只想做规范web数据传输格式,不保存请求的状态信息,所以,如果需要保存请求信息,要么放在浏览器中,要么保存在服务器,因此就有了Cookie和Session;

  • Cookie
    Cookie是一种浏览器缓存,和SessionStorage,LocalStorage功能类似,都是为了在浏览器端保存用户信息(一般是用户信息较多)或者其他的重要信息(单个项的大小不能超过4k,包括 名字,值,过期时间,路径和域);
    好处是将信息缓存在内存当中,方便浏览器再次直接获取相关信息。当然缺点是容易信息泄露,造成安全隐患;

  • Session
    是为了把客户端状态信息(比如用户登录时的用户信息等)保存在服务器端,保证了安全性,可控,并且大小可以设置,比如tomcat中的HttpSession;

联系

浏览器第一次访问服务器的时候,因为服务器没有存储相关Session,所以会新建一个Session(可以用来存储信息),
以及与此Session相关联的sessionid(不重复字符串),将sessionid作为key,Session作为value值存储到服务器当中(默认有效期为30min),然后将sessionid放到响应头的set-cookie当中返回给客户端,客户端接收到并将sessionid放到Cookie当中,之后浏览器再次访问服务器的时候,客户端会自动将此sessionid放到请求头的Cookie当中,后面服务器就可以根据此sessionid寻找到对应Session对象;

posted @   flashOS  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示