【计算机网络基础——系列6】浏览器缓存之cookie、session、localstorage

系列文章总结

【计算机网络基础——系列1】-matlab与python使用socket udp进行进程间通信
【计算机网络基础——系列2】-matlab与python使用socket tcp进行进程间通信
【计算机网络基础——系列3】输入url后页面会遇到的问题
【计算机网络基础——系列4】关于HTTP请求的相关内容
【计算机网络基础——系列5】前端遇到的三种网络攻击
【计算机网络基础——系列6】浏览器缓存之cookie、session、localstorage
【计算机网络基础——系列7】浏览器缓存之—http缓存
【计算机网络基础——系列8】前端优化总结
【计算机网络基础——系列9】restful规范;dns劫持
【计算机网络基础——系列10】osi网络结构;tcp协议保持传输的可靠性;SSL
【计算机网络基础——系列11】实现python作为服务端与qt进行udp通信



一、cookie

1.1 cookie是什么:

cookie是服务器提供的一种用于维护用户会话信息的数据,通过服务器发送到游览器,保存到游览器的纯文本文件。

1.2 cookie作用:

由服务器生成,用来标识用户身份。

1.3 cookie的使用:

由服务器生成,可以设置失效时间,如果在浏览器生成,默认是关闭游览器后失效,会携带在http请求头中。
当浏览器保存了服务器发过来的cookie后,当下一次再有同源请求时,浏览器将保存的cookie添加到请求头部,发送给服务器,让服务器辨别用户,这可以用来实现记录用户登录状态的功能,cookie一般只能够被同源的网页所共享访问。

1.3 cookie的各部分:

一条cookie 包括了6个属性值 expires、domain、path、secure、HttpOnly、max-age。

  • expires 指定了 cookie 失效的时间。
  • domain 是域名。
  • path是路径。
  • domainpath 一起限制了 cookie 能够被哪些 url 访问。
  • secure规定了cookie 只能在确保安全的情况下传输。
  • max-age指定了其有效期,优先级高于expires。
  • HttpOnly 规定了这个 cookie 只能被服务器访问,不能在客户端使用js 脚本访问。
    客户端可以通过JS脚本,例如document.cookie="key=value"形式设置cookie。

二、session

1.session是什么:

session是服务器提供的一种未来保存用户状态而创建的一个特殊对象

2.session的作用:

默认情况下,一个浏览器独占一个session对象,因此在需要保存用户数据时,服务器可以把用户数据写到用户浏览器独占的session中,当用户浏览器访问其他程序时,其他程序可以从用户的session中取出该用户的数据,为用户服务。

3.session的使用:

在浏览器第一次访问服务器时,服务器会创建一个session对象,该对象会有唯一的id,即sessionid,服务器会把sessionid以cookie的形式发送给浏览器,当浏览器再次访问服务器时,会携带cookie在请求头中,可以通过cookie中的sessionid来访问session对象,可以实现在http无状态基础上实现用户管理(即两个页面之间的用户状态,可以保存在session中)
代码如下(示例):


三、localstorage、cookie、sessionstorage的区别

特性localstoragecookiesessionstorage
保存周期默认永久保存(除非特殊声明)可设置失效时间,默认时浏览器关闭时关闭页面或是浏览器后会被清除
数据大小一般5MB4KB左右5MB
与服务端的通信仅在客户端报春,不会参与和服务器的通信每次会保存在http的请求头中同localstorage
用途用于浏览器缓存数据用于标识用户的身份同localstorage

四、cookie与token的区别:

Token验证是服务器在用户登录时使用密钥对用户信息就行签名并将用户信息与签名组合。
cookie验证是服务器在用户登录时生成用户唯一标识,即sessionid并以映射表的形式保存在该台服务器的内存上。

特性cookietoken
安全性cookie安全性没有token高token可以防止csrf攻击
跨域访问无法进行跨域访问将token置于请求头中可以实现跨域访问
状态cookie是有状态的,用户进行请求操作时,需要带上cookie,在服务器进行验证token无状态化,服务器无需储存token

**码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让子弹飞一会儿=>

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值