WebSocket协议相比较于HTTP协议成功握手后可以多次进行通讯,直到连接被关闭。但是WebSocket中的握手和HTTP中的握手兼容, 它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket。这使得WebSocket程序可以更容易的使用现已存在的基础设施。
WebSocket工作在HTTP的80和443端口并使用前缀ws://或者wss://进行协议标注,在建立连接时使用HTTP/1.1的101状态码进行协议切换, 当前标准不支持两个客户端之间不借助HTTP直接建立Websocket连接。
更多Websocket的介绍可参考我写的 聊一聊WebSocket 一文。
开发小程序的时候需要用到WebSocket长连接和推送技术,但是必须使用wss,并且必须通过域名访问。这时候就需要用到nginx反向代理了。