系列文章总结
【计算机网络基础——系列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
是路径。domain
和path
一起限制了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的区别
特性 | localstorage | cookie | sessionstorage |
---|---|---|---|
保存周期 | 默认永久保存(除非特殊声明) | 可设置失效时间,默认时浏览器关闭时 | 关闭页面或是浏览器后会被清除 |
数据大小 | 一般5MB | 4KB左右 | 5MB |
与服务端的通信 | 仅在客户端报春,不会参与和服务器的通信 | 每次会保存在http的请求头中 | 同localstorage |
用途 | 用于浏览器缓存数据 | 用于标识用户的身份 | 同localstorage |
四、cookie与token的区别:
Token验证是服务器在用户登录时使用密钥对用户信息就行签名并将用户信息与签名组合。
cookie验证是服务器在用户登录时生成用户唯一标识,即sessionid并以映射表的形式保存在该台服务器的内存上。
特性 | cookie | token |
---|---|---|
安全性 | cookie安全性没有token高 | token可以防止csrf攻击 |
跨域访问 | 无法进行跨域访问 | 将token置于请求头中可以实现跨域访问 |
状态 | cookie是有状态的,用户进行请求操作时,需要带上cookie,在服务器进行验证 | token无状态化,服务器无需储存token |
**码字不易~, 各位看官要是看爽了,可不可以三连走一波,点赞皆有好运!,不点赞也有哈哈哈~~~**