问题
使用Golang开发流媒体服务器处理Post请求时,遇到了这个报错信息:
2020/12/14 07:21:01 callback post failed
2020/12/14 07:21:01 error:***:8080/api/callback: first path segment in URL cannot contain colon
解决
网上查了一下,可行的方案基本都是说在 “host:port” 前增加“//”。
确实能解决问题,但是,这只是表象。真正的原因是缺少请求协议的说明,其实完整的表述应该是“http://host:port/api”。
当然,如果你是https协议的话,那就是“https://host:port/api”。如果使用默认端口的话,http协议的port是80,https协议的port是443。当然,也可以指定。
需要注意的是一般网络接口的请求发送都是用http协议,而https协议使用的比较少。因为http协议使用简单,功能实现起来也比较快,同时延时还低。而https协议要求严苛,功能实现比较复杂一些,握手和加解密都相对耗时。但是这也是处于安全的考虑。因此,在涉及隐私文件上传,比如身份证、银行卡信息,或者涉及支付、转账等安全等级较高的操作时会强制要求使用https协议,其他场景考虑http协议即可。