OAuth2.0授权码模式

OAuth简单来说就是一种授权标准,目前版本为2.0,但是不向后兼容。 简述 直观例子 举个例子,我们现在需要优化登录流程,支持qq用户授权登录。为了实现这个功能,一般有这么几步: 登录页面提示用户可以使用第三方qq登录 点击qq登录,跳转到qq登录页面输入用户名密码,用户点击授权 跳转回到我们自己的网站,后端

TCP连接状态

TCP协议是传输层协议,是一个面向连接的协议,为用户提供可靠的全双工字节流。 TCP连接与断开 三次握手 建立一个TCP连接需要进行三次握手: 三次握手是必要的。如果只靠前两步就建立连接,考虑这样一个场景: 客户端向服务器发送第一个分节请求SYN j1建立连接,但是这个分节由于网络阻塞,很久都没有到达服务器 客户

HTTPS原理

HTTPS,即HTTP over SSL/TLS,在HTTP下加入了一层SSL安全认证,比HTTP协议更安全。使用HTTPS需要到CA机构申请数字证书,客户端和服务端进行加密传输。我们先了解一下加密方式、数字签名、数字证书等知识,然后再看https是如何组合这些技术的。 数字签名和数字证书 需要理解数字签名和数字

常用GIT命令

远程仓库 1 2 3 4 5 6 7 8 9 # 从远程库拉取 git clone remotepath # 添加远程库 git init # 可选,初始化一个新git仓库 git remote add origin remotepath # 查看远程库信息 git remote -v 工作区与暂存区 工作区有一个隐藏目录.git,是git的版本库。版本库中存储了一个称为stage的暂存区,还有分支信息(图片取自 廖雪峰git教程 ): 一个新文件,通过git add后

缓存实现分布式锁

web程序一般都分布在不同的服务器上,如果需要对外部资源进行独占操作就必须使用锁机制,这时候就需要使用分布式锁。一般来说,使用zookeeper、etcd这种强一致性的服务来实现分布式锁是最可靠的。但是有时候条件受限,仅仅为了分布式锁就引入zookeeper还是太奢侈了,反而缓存是比较容易获得的资源