Golang websocket服务端实现注意点记录

在工作生产中,很多业务需要用到websocket作为前后端之间交互的方式, 以下总结一些遇到的问题及相关链接:

  • 认证问题:
    - 浏览器端的javascript 的websocket建立连接的api较为单一:
    var aWebSocket = new WebSocket(url [, protocols])
    
    此接口难以携带认证凭证等信息。在websocket的initial handshake无法提供自定义的头部信息. 因此, 要想在建立websocket之前实现身份验证,让initial handshake 携带token等验证信息, 办法有如下:
    • url上添加query, 即"wss://somedomain.com?token=",详见此链接
    • 对于websocket请求的urldomain一致的情况, 在cookies中保存认证token, 发起initial h

你可能感兴趣的:(Golang辅助)