python websocket服务器https_Socket与WebSocket以及http与https重新总结

socket与websocket以及http与https重新总结

一.socket

网络中的socket是一个抽象的接口 ,而是为了方便使用tcp或udp而抽象出来的一层 ,可以理解为网络中连接的两端。通常被叫做套接字接口.

二.websocket

websocket就是其中一种,是为了创建一种双向通信(全双工)的协议 ,来弥补http协议在持久通信能力上的不足

websocket连接的过程是:

首先,客户端发起http请求,经过3次握手后,建立起tcp连接;http请求里存放websocket支持的版本号等信息,如:upgrade、connection、websocket-version等;

然后,服务器收到客户端的握手请求后,同样采用http协议回馈数据;

最后,客户端收到连接成功的消息后,开始借助于tcp传输信道进行全双工通信。

三.总结两者关系

socket是传输控制层接口,websocket是应用层协议。

四.http与https

两者的概念

http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。

https协议:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。

2189f490d45c40f2ecf00baa296499a3.png

连接方式不同

1、http协议:http的连接很简单,是无状态的。

2、https协议:是由ssl+http协议构建的可进行加密传输、身份认证的网络协议。

端口不同

1、http协议:使用的端口是80。

2、https协议:使用的端口是443.

证书申请方式不同

1、http协议:免费申请。

2、https协议:需要到ca申请证书,一般免费证书很少,需要交费。

五.ssl协议

参考https://www.cnblogs.com/jztan/p/8159086.html

先讲两个概念

对称加密: 加密和解密的秘钥使用的是同一个.

非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)

ssl协议是非对称加密

ssl协议的握手过程

先用语言来阐述下:

第一步:爱丽丝给出支持ssl协议版本号,一个客户端随机数(client random,请注意这是第一个随机数),客户端支持的加密方法等信息;

第二步:鲍勃收到信息后,确认双方使用的加密方法,并返回数字证书,一个服务器生成的随机数(server random,注意这是第二个随机数)等信息;

第三步:爱丽丝确认数字证书的有效性,然后生成一个新的随机数(premaster secret),然后使用数字证书中的公钥,加密这个随机数,发给鲍勃。

第四步:鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即premaster secret);(第三、四步就是非对称加密的过程了)

第五步:爱丽丝和鲍勃通过约定的加密方法(通常是aes算法),使用前面三个随机数,生成对话密钥,用来加密接下来的通信内容;

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值