Cookie/Session/webStroage详解

本文详细介绍了Cookie、Session和webStorage这三种会话管理技术,包括它们的起源、定义、特点、优缺点及使用场景。Cookie是存储在客户端的字符串数据,常用于跟踪用户状态,但存在体积限制和安全性问题。Session则将数据存储在服务器端,解决了安全性问题,但随着会话增加可能影响服务器性能。webStorage提供了更大的存储空间,分为sessionStorage和localStorage,前者局限于同源同窗口,后者数据长期有效并可在同源窗口间共享。
摘要由CSDN通过智能技术生成

2. Session

3. webStroage

4. 总结

cookie的起源

  HTTP是无状态的协议。一旦数据交换完毕,客户端与服务器端就会断开连接,再次建立连接需要发送新的请求。这就意味着服务器无法跟踪上次会话.在Session出现之前。基本上所有的网站都采用Cookie来跟踪会话。

什么是cookie

  cookie是指某些网站为了辨别用户省份,通过加密,存储在用户本地终端(client side)上的数据。cookie通过HTTP请求报文和响应报文配合完成。cookie是存储于访问者计算机中的变量。每当同一台计算机通过浏览器请求同一个页面时,就会发送这个cookie。
  简单的说,当一个用户通过HTTP协议访问一个服务器的时候,这个服务器会将一些key/Value键值对返回给客户端浏览器,并给这些数据加上一些限制条件,在条件符合时,这个用户下次访问这个服务器的时候,数据又被完整的带回给服务器。cookie就是这样一种机制,可以由前后端对其进行控制,而不是语言本身的性质。通过在控制台输入(document.cookie)就可以了,就会显示自己网站的cookie。cookie如果不加密,别人可以轻易的看见的账号密码。

cookie属性
属性 描述
name (String) 该cookie的名称,一旦创建,不可改变
value (Object) 该cookie的值。如果值为Unicode字符,需要为字符编码。如果为二进制,则需要base64编码
maxAge (int) 该cookie的失效时间,单位妙。如果为正数,则该cookie在maxAge妙之后失效。如果为负数,该cookie为临时cookie,关闭浏览器即失效,浏览器也不会以任何形式保存该cookie。如果为0表示删除。默认为-1(相对文档的请求时间)
expires (int) 绝对的过期时间(GTM格式),客户端和服务器端不同步会造成影响,不建议单独使用
secure (boolean) 该cookie是否仅被安全协议传输。安全协议有HTTPS,SSL等,在网络上传输数据之前先将数据加密。默认为false。
path (String) 该cookie的使用路劲。如果设置为”/sessionWeb/”,则只有contextPath为”/sessionWeb”的程序可以访问该cookie。如果设置为”/”,则本域名下的contextPath都可以访问该cookie
domin (String) 可以访问该Cookie的域名。如果设置为”.google.com”,则所有以”google.com”结尾的域名都可以访问该cookie
comment (string) 该cookie的用处说明。浏览器显示cookie信息的时候显示该说明
version (int) 该cookie使用的版本号。0表示遵循Netscape的cookie规范,1表示遵循W3C的RFC 2109规范
前后端设置cookie

前端使用原生js和jquery对cookie进行操作。

// 原生js
// 设置和修改cookie,新设置的cookie如果与原有的cookie相同(名称,路径,域名都相同),会将原有的cookie覆盖(采用新cookie),如果没有直接设置
var date = new Date();
// 设置cookie属性的max-age/expires,max-age是妙,expires是毫秒,这个地方设置过期时间为一天
var cookieExpire = date.getTime() + 24 * 3600 * 1000
document
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值