websocket、socket、http

HTTP协议是非持久化的,单向的网络协议,在建立连接后只允许浏览器向服务器发出请求后,服务器才能返回相应的数据。当需要即时通讯时,通过轮询在特定的时间间隔(如1秒),由浏览器向服务器发送Request请求,然后将最新的数据返回给浏览器。

WebSocket同HTTP一样也是应用层的协议,但是它是一种双向通信协议,是建立在TCP之上的。

连接过程 —— 握手过程

1. 浏览器、服务器建立TCP连接,三次握手。这是通信的基础,传输控制层,若失败后续都不执行。
2. TCP连接成功后,浏览器通过HTTP协议向服务器传送WebSocket支持的版本号等信息。(开始前的HTTP握手)
3. 服务器收到客户端的握手请求后,同样采用HTTP协议回馈数据。
4. 当收到了连接成功的消息后,通过TCP通道进行传输通信。

WebSocket在建立握手时,数据是通过HTTP传输的。但是建立之后,在真正传输时候是不需要HTTP协议的。

 

https websocket

由于HTTP没有加密机制,其传输的内容很容易泄漏,并且HTTP协议没法确认通信方,也无法保证接收到的报文在传输过程中是否被篡改,因此HTTPS是在HTTP协议的基础上提供了加密、认证和完整性保护的功能。HTTPS并非是应用层的一种新协议,只是HTTP通信接口部分用SSL和TLS协议代替而已,通常HTTP直接和传输层的TCP协议通信,当使用了SSL后,HTTP先和SSL协议通信,SSL再和TCP协议通信。

 

SSL证书申请和使用

SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。

SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;

1.微信小程序使用的网络连接必须是https加密的安全连接(需要SSL证书)
 
2.微信小程序使用的服务器地址只能是备案过的域名
 
3.微信小程序使用的服务器地址不能包括端口(由于采用了https所以默认是443,不是80不是80不是80!)
 
4.开发过程中可以没有以上限制
 

 

WebSocket介绍和Socket的区别

WebSocket与http的区别,以及它的原理

微信小程序基于node.js的websocket服务器搭建和SSL证书申请、配置全家桶

lua 异步HTTPS并发请求库

posted @ 2018-10-31 17:11  _raindrop  阅读(161)  评论(0编辑  收藏  举报