概述
1、产生原因
由于http(超文本传输语言)是一种无状态协议,不能以状态来区分管理请求和响应。为了解决这一问题 cookie & session 应运而生
2、Cookie & session
- 它们都是由服务端生成
cookie
- cookie保存在客户端(硬盘或内存中),可以通过分析本地cookie模拟,安全性较差
- 大小限制为4KB左右(不同浏览器会有差别)
- cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据。;
- 可以通过 set-cookie : path=/ ,来设置cookie的访问路径,非路径下无法访问
- 可以设置有效期
session
- session保存在服务端内存中,安全性较好,但是对于用户较多的网站,服务端内存压力较大
- 大小无限制
- session中能够存储任何类型的数据,包括且不限于string,integer,list,map等
- 不能设置路径,任何地方都可以访问到
- session依赖于客户端cookie,如果客户端禁用cookie则需要重写url,增加了风险性
- session有效期依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果。
3、webStorage
webStorage包括localStorage和sessionStorage,他们只能存储字符串类型数据。
localStorage
localStorage 是 HTML5 标准中新加入的技术,它存储在客户浏览器端,除非被删除否则永久有效
sessionStorage
sessionStorage 与 localStorage 类似,区别在于保存数据的生命周期不同。在页面会话期间可用,当前页面关闭后sessionStorage 中的数据就会被清空。
差异表
4、操作方法
cookie
var
使用方式:
cookie
jQuery cookie
需要先引入jquery 与 jquery.cookie
添加会话cookie :
$
创建一个cookie并设置有效时间为 7天
$
创建一个cookie并设置 cookie的有效路径
$
读取cookie
$
删除cookie
$
可选参数说明:
$
localStorage
存: localStorage.setItem("key", "value")
取:let val = localStorage.getItem("key")
删:localStorage.removeItem("key")
全删:localStorage.clear()
sessionStorage
存: sessionStorage.setItem("key", "value")
取:let val = sessionStorage.getItem("key")
删:sessionStorage.removeItem("key")
全删:sessionStorage.clear()
最后
以上就是迷你泥猴桃为你收集整理的cookie不设置有效期多久过期_cookie~session & webStorage的全部内容,希望文章能够帮你解决cookie不设置有效期多久过期_cookie~session & webStorage所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复