微信扫码登录原理解析
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/78823861冷血之心的博客)
最近针对扫码登录机制做了一个调研,以下以微信网页扫码登录为例进行一个总结。
1、微信扫码登录过程:
- 用户在浏览器端访问网页:https://wx.qq.com/ 页面中出现一个二维码
- 用户拿着已经登录成功的移动终端(手机)扫码该二维码
- 浏览器中获取到了移动终端已经登录的账号信息(包括头像),并且进行了显示
- 在手机端点击确定登录,浏览器端登录网页版微信成功,可以进行信息交互
![](/assets/blank.gif)
![](/assets/blank.gif)
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。
![](/assets/blank.gif)
如果对你有帮助,记得点赞哦~欢迎大家关注我的博客,可以进群366533258一起交流学习哦~
本群给大家提供一个学习交流的平台,内设菜鸟Java管理员一枚、精通算法的金牌讲师一枚、Android管理员一枚、蓝牙BlueTooth管理员一枚、Web前端管理一枚以及C#管理一枚。欢迎大家进来交流技术。
微信扫码登录原理解析相关推荐
- 微信扫码登录的几秒钟里,到底发生了什么(扫码登录原理)
事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的网站.正开着某个视频起劲,突然浏览器弹出了一个对话框 ...
- 微信扫码登录网页实现原理
扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...
- 微信扫码登录实现原理
二维码这把利刃,产品应该用到极致 微信扫码登录实现原理 转载于:https://www.cnblogs.com/gym333/p/7699885.html
- (转)微信扫码登录网页实现原理
扫码登录操作过程 浏览器输入:https://wx.qq.com/?lang=zh_CN 手机登录微信,利用"扫一扫"功能扫描网页上的二维码 手机扫描成功后,提示"登录网 ...
- 应用网站微信扫码登录处理逻辑解析
应用网站微信扫码登录处理逻辑解析 近日刚刚进行了网站应用微信扫码登录的功能开发.开发前看了不少文档,但感觉都很偏技术术语,太过于专业.对于刚刚想涉及这方面的菜鸟来说,看的一脸懵逼. 趁着自己刚刚动手的 ...
- AbpVnext 扩展企业微信扫码登录(钉钉登陆、短信登陆、微信登陆等)Vue框架
目录 1.开始开发准备 1.1 企业微信扫码登陆接入流程 1.2 开启网页授权登陆 1.3 构造独立窗口登陆二维码 1.4 构造内嵌登陆二维码 @@登陆顺序: 1. 发现文档配置 2. 获取token ...
- 微信扫码登录的几秒钟里,到底发生了什么
一想到你要关注我 ↑ 就忍不住有点紧张0.0... 事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的 ...
- 微信扫码登录的几秒钟里,到底发生了什么?
事情经过 这天中午,小A吃完午饭,摊在自己的躺椅上,想趁吃饱喝足的午后时间静静享受独自的静谧. 干点什么好呢?小A单手操作鼠标打开了一个陌生而隐秘的网站.正开着某个视频起劲,突然浏览器弹出了一个对话框 ...
- SpringSecurity OAuth2实现单点登录,微信扫码登录,Redis缓存验证码---入门到实战
1. 认证授权 1.1 什么是认证授权 例如课程发布后用户通过在线学习页面点播视频进行学习.如何去记录学生的学习过程呢?要想掌握学生的学习情况就需要知道用户的身份信息,记录哪个用户在什么时间学习什 ...
- SpringBoot整合微信扫码登录
SpringBoot整合微信扫码登录 准备工作 基本思路流程 搭建SpringBoot 引入依赖 加入配置文件 代码实现 工具类 controller层 结果 准备工作 1.登录官网了解到,学习者想本 ...
最新文章
- 【Python】可视化配色方案自由啦 (Python版)
- 127.0.0.1 php,关于php -fpm 出现127.0.0.1:9000已经被占用
- linux—命令汇总
- linux安装vim plug, vim-plug 的安装和使用
- 字符函数、字符串函数、内存函数用法及其模拟实现
- ScrollView常用属性汇总
- POJ2104 K-TH NUMBER 传说中的主席树
- 转载:向 XPath 中添加自定义函数
- python高次方程求根公式,Python简单求解高阶方程的数值解
- 二倍图三倍图什么意思_什么是二倍图三倍图
- android qq很多压缩包,微信QQ总是占用手机大量内存?这次腾讯推出官方版清理工具了...
- springboot---fastDFS 简单文件上传/下载/删除
- 【水汐のpython】 用python抓取外网的本子站并获取本子封面和信息
- 关于mac苹果电脑装win10系统发热严重的解决方法
- 什么是BGP,一般机房的BGP是什么意思?
- 转载:Openssl生成rsa和椭圆曲线加密公钥密钥创建根ca签名https服务器证书签名...
- Vue搭建可视化界面
- Windows远程桌面(RDP)密码凭证获取 (゚益゚メ) 渗透测试
- TIT 数字图像处理 原理与实践(MATLAB) 入门教学 实验一 常用的MATLAB图像处理命令与图像基本操作
- c语言read怎么一行一行读,使用read从标准输入中读取一行