专栏首页前端导学JSON WEB Tokens 和 WebSocket

JSON WEB Tokens 和 WebSocket

为什么80%的码农都做不了架构师?>>>

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的时候也需要注意安全问题,在允许的情况下应该使用HTTPS协议。

WebSocket

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

Chrome Ajax轮询

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于敏捷开发的一些思想

    focus on the aspects of an agile methodology that embrace transparent and open ...

    lilugirl
  • html5 浏览器视频支持表

    Firefox old versions Flash fallback with MP4

    lilugirl
  • Rxjs入门

    Rxjs英文官网域名已经变为 https://rxjs-dev.firebaseapp.com/

    lilugirl
  • 第十九章:使用JWT设计SpringBoot项目api接口安全服务JWT组成

    恒宇少年
  • Linux常用的服务器构建

    FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。

    黑泽君
  • 独家 | 让城市不再与炸弹同眠:大数据​助力城市危险品管理

    AI 科技评论按:距离 8·12 天津滨海新区爆炸事故已经过去了两周年。这起因危险品的不合理存放和管理导致的重大伤亡事故也让高校科研人员高度关注如何用大数据来防...

    AI科技评论
  • DIY 13.8V 通信电源+直流UPS不间断电源

    开口,挖洞,我只有美工刀和电烙铁。使用电烙铁加热戳出一个洞,然后用美工刀挖。好累啊。

    netkiller old
  • rsocket-java小试牛刀

    rsocket-core-0.12.1-sources.jar!/io/rsocket/RSocket.java

    codecraft
  • rsocket-java小试牛刀

    rsocket-core-0.12.1-sources.jar!/io/rsocket/RSocket.java

    codecraft
  • 神奇的go语言(高级应用)

    其实有了上一篇的基本语法,我们就可以做一些简单的事情,比如说文件服务器。或许大家有点不相信,没关系。下面开始用代码来说明问题,其实整个代码的内容不会超过十行。 ...

    李海彬

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动