• Cookie和Session的区别


    一、Cookie

    1、简介

    一小段文本信息(key-value格式),客户端(浏览器)向服务端发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie,客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,浏览器把请求的网站连同该Cookie一起提交给服务器,服务器检查该Cookie,以此来辨认用户状态。

    2、Cookie的作用

    客户端存储用户访问网站的一些信息。

    • 记住密码,下次自动登录。
    • 购物车功能。
    • 记录用户浏览数据,进行商品(广告)推荐。

    3、特点

    • cookie是在服务端创建,保存在浏览器这一端;
    • 生命周期可以通过 cookie.setMaxAge(2000)修改,如果不设置生命周期,cookie的生命周期当浏览器关闭时就消亡;
    • 单个cookie在客户端的限制是3K;
    • cookie可以被多个浏览器共享;
    • cookie存放时候是以明文方式存放,因此安全性较低,可以通过加密后存放,或使用HTTPS。

    二、Session

    1、简介

    当浏览器 第一次发送请求时,服务器自动生成了一个Session和一个Session ID用来唯一标识这个Session,并将其通过响应发送到浏览器。当浏览器第二次发送请求,会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户对应的Session。

    2、Session的作用

    Session的根本作用是在服务端存储用户和服务器会话的一些信息。

    • 判断用户是否登录。
    • 购物车功能。

    3、特点

    • session是存放在服务器的内存中;
    • session中属性默认的生命周期是30分,可以通过html文件来修改;
    • 服务器能够为不同的浏览器提供不同的session,

    三、cookie与session的区别

    共同点:cookie和session都是用来跟踪浏览器用户身份的会话方式。

    1.存储的位置不同:cookie数据保存在客户端,session数据保存在服务器端。session存储的数据比较安全;

    2.存储的数据类型不同:两者都是key-value结构,但针对value的类型是有差异的。cookie:value只能是字符串类型,session:value是Object类型;

    3.存储的数据大小限制不同:cookie大小受浏览器的限制,很多是3k的大小,session理论受内存的限制;

    4.生命周期的控制:cookie的生命周期当浏览器关闭的时候就消亡了
    cookie的生命周期是累计的,从创建时就开始计时,30min后cookie生命周期结束。
    session的生命周期是间隔的,从创建时开始计时如在30min内没有访问session,那么session生命周期就被销毁。

    参考:
    面试常考–cookie和session的区别
    cookie与session的区别(面试重点)

  • 相关阅读:
    MKL.NET:为.NET开发者提供高性能数学计算支持的开源库
    多目标哈里斯鹰优化 (MOHHO)(Matlab代码实现)
    配置mac与windows之间的ssh互连
    第八天 Python爬虫之Rquests库&&打码平台的简单使用
    51单片机太阳能十字路口交通灯
    [JAVAee]Spring MVC
    【NumPy基础】- Numpy数组和矢量计算
    AntDesignVue动态创建下拉菜单
    vulhub中Wordpress 4.6 任意命令执行漏洞复现
    配电房智能化改造
  • 原文地址:https://blog.csdn.net/kongqwesd12/article/details/126975092