【Web小课堂】登录之后,在其他页面怎么判断是否已经登录?
这里是修真院前端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析前端知识/技能,本篇分享的是:
【Web小课堂】登录之后,在其他页面怎么判断是否已经登录?】
1.背景介绍
登录功能,是前端经常要完成的需求之一。
一个网站有很多的操作是必须要用户登陆才能进行操作的
那么如何进行登录判断?
需要用到什么样的属性或者方法?
有什么地方的细节需要注意?
以上这些,都是本次小课堂要讲解的重点!
2.知识剖析
如果想要实现登陆判断,就要有一个判断的依据。
首先,这个依据在我们访问网站的过程中不会失效,
其次,这个依据要能存储一定的信息,以提供必要的判断,
同时满足这两个条件有WebStorage和cookies
Web Storage
WebStorage是HTML5中本地存储的解决方案之一
Web Storage实际上由两部分组成:sessionStorage与localStorage。
localStorage和sessionStorage
localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
sessionStorage存储的数据只在会话期间有效,关闭浏览器则自动删除。
什么是cookie
首先,cookie,sessionStorage和localStorage,都是web存储里面的知识点,虽然都是网页数据存储,但他们产生的先后顺序和应用是不同的。
cookie有时也用cookies。网景公司发展的一种机制,Cookie是由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,服务器可以设置或读取Cookies中包含信息,借此维护用户跟服务器会话中的状态。目前,cookie已经成为一种标准,所有的主流浏览器如IE、chrome、Firefox、Opera等都支持Cookie。
3.常见问题
为什么不使用cookie?
解决方案
cookie怎么了?
1. 数据大小:作为存储容器,cookie的大小限制在4KB左右。
2. 安全性问题:由于在HTTP请求中的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。
3. 网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest和HttpResponse的header中都是要被传输的,
所以无形中增加了一些不必要的流量损失。
更多讨论
Q1: 在url中输入相关页面,它的登陆状态好不好判断?
A1: 登录状态是通过sessionStorage判断的,在每个页面最开始都可以添加一个判断
Q2: Form表单的get和post是不是也可以实现登陆判断
A2: 表单提交是通过发送登录生成的cookie到后端,后端进行判断的,若没有相应cookie或者cookie错误则后端返回错误代码
Q3: 一些不重要的页面是否可以不进行登录验证
A3: 这个看需求
PPT:https://it-xzy.github.io/WEB-NEW/2018-5-1-C组-js9.html#/
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地