为什么需要session和cookie
源于web系统的发展和变迁。 web1.0:强调的是资源共享。 http协议是一种无状态的协议。 web2.0:强调的是交互 交互意味着是有多步操作,请求和请求之间是有依赖存在的。 引入了session和cookie机制是来实现状态的记录。 session和cookie的特征 session和cookie都是由服务器生成的,都是用来存储特定的值(键值对应)。 session是存储在服务器的,而cookie是会返回给客户端的。 形式:响应信息头:set-cookie 一般来说,SessionID会以类似于cookie的方式返回给客户端。 sessionID是服务器用来识别、操作存储session值的对象的。 一般来说,在服务器端,session的存储方式有文件方式、数据库方式,sessionID就是用来识别这个文件的(文件名相关)、识别数据库的某一条记录(记录的主键id)。 sessionID并不是session值,是一把钥匙。 客户端(浏览器)在发送请求的时候,会自动将存活、可用的cookie封装在请求头中和请求一起发送。 形式:请求信息头:Cookie cookie和session都是有其生命周期的。 cookie的生命周期,一般来说,受两个因素的影响: cookie自身的存活时间:是服务器生成cookie时设定的。 客户端是否保留了cookie。客户端是否保留cookie,只对客户端自身有影响,对其它封包工具是没有影响的。cookie相当于一张优惠券,只要没过期,别人捡到了也能用。 session的生命周期,一般来说,也受两个因素的影响: 服务器对于session对象的保存的最大时间的设置。 客户端进程是否关闭。因为sessionID是写在内存里的,与客户端进程绑定,没有文件存在客户端。客户端进程是否关闭,只对客户端自身有影响,对其它封包工具是没有影响的。 cookie和session的作用域: 一般都是默认的根域。 为什么session比cookie安全 cookie是存储在客户端的,是可见的,是可以改变的。 session是存储在服务器端的,是不可见的,是不可改变的,客户端只能操作sessionID。相关文章
- 10-10DAY9 if语句和switch语句
- 10-10Python 虚拟环境virtualenv的安装和基本使用
- 10-10GCC/G++选项 -Wl,-Bstatic和-Wl,-Bdynamic
- 10-10chapter3——图像调整大小和裁剪
- 10-10常用的windowd属性和对象
- 10-10OA、CRM、ERP之间的区别和联系是什么?
- 10-10vue的proxy和defineProperty区别
- 10-10NVIDIA Tesla/Quadro和GeForce GPU的比较
- 10-10标签语义和自适应图片(类似电商购物栏图片)
- 10-10python-用底部编辑线,状态栏和滚动历史记录实现“控制台外壳”的最佳方法?