博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON WEB Tokens 和 WebSocket
阅读量:5894 次
发布时间:2019-06-19

本文共 931 字,大约阅读时间需要 3 分钟。

hot3.png

JSON WEB Tokens

JSON Web Token (JWT) 是一种基于token 的认证方案。

在人们大规模地开始Web应用的时候,我们在授权的时候遇到了一些问题,而这些问题不是Cookie所能解决的。Cookie存在一些明显的问题:不能支持跨域、并且不是无状态的、不能使用CDN、与系统耦合等等。除了解决上面的问题,它还可以提高性能等等。基于Session的授权机制需要服务端来保存这个状态,而使用JWT则可以跳过这个问题,并且使我们设计出来的API满足RESTful规范。即,我们API的状态应该是没有状态的。因此人们提出了JWT来解决这一系列的问题。

通过JWT我们可以更方便地写出适用于前端应用的认证方案,如登陆、注册这些功能。当我们使用JWT来实现我们的注册、登陆功能时,我们在登陆的时候将向我们的服务器发送我们的用户名和密码,服务器验证后将生成对应的Token。在下次我们进行页面操作的时候,如访问/Dashboard时,发出的HTTP请求的Header中会包含这个Token。服务器在接收到请求后,将对这个Token进行验证并判断这个Token是否已经过期了。

JWT流程JWT流程

需要注意的一点是:在使用JWT的时候也需要注意安全问题,在允许的情况下应该使用HTTPS协议。

WebSocket

在一些网站上为了实现推送技术,都采用了轮询的技术。即在特定的的时间间隔里,由浏览器对服务器发出HTTP请求,然后浏览器便可以从服务器获取最新的技术。如下图所示的是Google Chrome申请开发者账号时发出的对应的请求:

Chrome Ajax轮询Chrome Ajax轮询

从上图中我们可以看到,Chrome的前台正在不断地向后台查询API的结果。由于浏览器需要不断的向服务器发出请求,而HTTP的Header是非常长的,即使是一个很小的数据也会占用大量的带宽和服务器资源。为了解决这个问题,HTML5推出了一种在单个TCP连接上进行全双工通讯的协议WebSocket。

WebSocket可以让客户端和服务器之间存在持久的连接,而且双方都可以随时开始发送数据。

转载于:https://my.oschina.net/lilugirl2005/blog/650649

你可能感兴趣的文章
前端零基础 JS 教学 第二天 02 - day关系运算符与流程控制循环详细讲解 for switch 等...
查看>>
canvas 梦幻的随机例子效果
查看>>
机器学习实战教程(十一):线性回归基础篇之预测鲍鱼年龄
查看>>
Apply、Call、Bind
查看>>
ipv6 relay模式
查看>>
诊断儿童罕见病,多伦多大学 AI 辅助医生调整治疗方案
查看>>
强大的跨数据库访问组件 UniDAC使用教程:统一SQL
查看>>
[译] Part 31: golang 中的自定义 error
查看>>
深入出不来Node module模块
查看>>
vue-quill-editor 富文本集成quill-image-extend-module插件实例,以及UglifyJsPlugin打包抱错问题处理...
查看>>
使用者多注意! 多件恶意软件潜入Google Play商店
查看>>
Chrome小游戏《Boxel Rebound》
查看>>
Trevor Blackwell:热爱机器人更懂的孵化新创公司
查看>>
更换了电脑如何更新博客
查看>>
循环链表 (单向) 判断是否有环
查看>>
初识JavaScript正则表达式
查看>>
koa教程---async/await使用
查看>>
Kubernetes 架构(上)- 每天5分钟玩转 Docker 容器技术(120)
查看>>
转变矛头,号称攻破BCH网络的Bitpico或与BCE决裂
查看>>
以凡人之躯,比肩神明:“ I am iron man ”
查看>>