微信扫码登录原理解析
来源:互联网 发布:mac品牌竞争对手 编辑:程序博客网 时间:2024/06/05 13:25
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/78823861冷血之心的博客)
最近针对扫码登录机制做了一个调研,以下以微信网页扫码登录为例进行一个总结。
1、微信扫码登录过程:
- 用户在浏览器端访问网页:https://wx.qq.com/ 页面中出现一个二维码
- 用户拿着已经登录成功的移动终端(手机)扫码该二维码
- 浏览器中获取到了移动终端已经登录的账号信息(包括头像),并且进行了显示
- 在手机端点击确定登录,浏览器端登录网页版微信成功,可以进行信息交互
2、扫码登录过程解析:
3、注意点:
传统的polling一般是由C向S询问:“有我的信件吗?”。S接到询问之后,会立即查询,并且把查询结果告诉C,不管有没有C的信件,要么回复:“嗯,你有X封信。”,要么回复:“没,没有你的信”。
而Long Polling更像是这样,C向S发出询问:“有我的信件吗?”,S开始查询,如果有则回复C:“嗯,有你x封信”。如果没有,则不作任何回复,而是让C等着,自己一遍一遍地查询是否有订阅者的信。
换句话说:当S收到C的查询请求之后,Polling则只查询一次,并且把查询结果告诉C;而Long Polling收到请求之后,则会一遍一遍地查询,直到有消息才会响应C,不然一直hold Client。
轮询:客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。
优点:后端程序编写比较容易。
缺点:请求中有大半是无用,浪费带宽和服务器资源。
实例:适于小型应用。
长轮询:客户端向服务器发送Ajax请求,服务器接到请求后hold住连接,直到有新消息才返回响应信息并关闭连接,客户端处理完响应信息后再向服务器发送新的请求。
优点:在无消息的情况下不会频繁的请求,耗费资源小。
缺点:服务器hold连接会消耗资源,返回数据顺序无保证,难于管理维护。
实例:WebQQ、Hi网页版、Facebook IM。
如果对你有帮助,记得点赞哦~欢迎大家关注我的博客,可以进群366533258一起交流学习哦~
本群给大家提供一个学习交流的平台,内设菜鸟Java管理员一枚、精通算法的金牌讲师一枚、Android管理员一枚、蓝牙BlueTooth管理员一枚、Web前端管理一枚以及C#管理一枚。欢迎大家进来交流技术。
- 微信扫码登录原理解析
- Ucenter同步登录原理解析
- SSO 单点登录实现原理解析
- CAS框架单点登录原理解析
- 微信扫码登录网页实现原理
- 微信扫码登录网页实现原理
- 微信扫码登录内部实现原理
- 微信扫码登录网页实现原理
- 能登录QQ但不能上网问题原理解析
- CAS实现单点登录原理与实例解析
- 微信QQ的二维码登录原理js代码解析
- Android二维码登录原理及生成与解析
- SSO单点登录学习总结(1)——单点登录(SSO)原理解析
- ios之 微信扫码登录网页实现原理
- 应用网站微信扫码登录处理逻辑解析
- ssh免密登录配置+调试讲解(超详细)+原理解析
- 单点登录设计原理
- CAS 单点登录原理
- Spark2 ML包之决策树分类Decision tree classifier详细解说
- LintCode 练习-734. 形式为a^i b^j c^k的子序列数量
- mybatis中resultMap的几种用法
- HDOJ 1096 A+B for Input-Output Practice (VIII)
- 安卓蓝牙开发
- 微信扫码登录原理解析
- codeforces 266A Stones on the Table
- 神经网络之激活函数(sigmoid、tanh、ReLU)
- Java集合:HashMap源码剖析
- 【转】 设置Ubuntu上的MySQL可以远程访问
- Win10x64下Vbox安装Ubuntux64共享文件夹报错:/sbin/mount.vboxsf: mounting failed with the error: Protocol error
- 文字编码系统笔记(ASCII、UNICODE、UTF-8、ANSI)
- CMake入门使用(三)动态库、静态库的编译及使用
- 【第七篇blog】专题:高精度计算<上>