scheme 和 protocol 有什么区别
在查看计量打点时,看到 "protocol":"rtmp","scheme":"rtmp“,难道这两个字段不一样吗?后来又看到 "protocol":"hls","scheme":"http“,有点懵了,索性今天就彻底搞懂这个问题。


首先先了解下这两个字段的含义
1. Scheme
通俗解释:Scheme 是 URL 的开头部分,用来告诉浏览器或播放器“用什么方式”去访问资源。
例子:
例如拉流地址是
http://live.example.com/ztest11.m3u8
,这里的http
就是 scheme。它告诉浏客户端:“用 HTTP 协议去访问这个地址。”在流媒体中:如果你看到一个流媒体链接是
rtmp://live.example.com/ztest11
,这里的rtmp
就是 scheme。它告诉播放器:“用 RTMP 协议去播放这个流媒体。”
作用: 它告诉客户端(如浏览器或流媒体播放器)使用哪种协议来访问资源。常见的 scheme
包括 http
、https
、ftp
、rtmp
、rtsp
等。
2. Protocol
通俗解释:Protocol 是真正的“通信规则”,它规定了数据如何从服务器传到你这里。
例子:
比如 HTTP 协议规定了网页怎么加载,RTMP 协议规定了流媒体怎么传输。
例如拉流地址是
http://live.example.com/ztest11.m3u8
,则 Protocol 是 hls。在流媒体中:RTMP、HLS、RTSP 等都是流媒体协议。它们决定了视频数据如何打包、传输和播放。
作用: 它决定了数据传输的方式和格式。例如,HTTP 用于网页浏览,RTMP 用于流媒体传输。
3. 总结
Scheme 是 URL 的“开头标签”,用来指明访问资源的方式。
Protocol 是实际的“交通规则”,决定了数据怎么传输。
URL:
http://live.example.com/ztest11.m3u8
Scheme: http(告诉播放器用 HTTP 协议访问)
Protocol: HLS(实际的流媒体传输协议)
类比:
Scheme 就像是你去餐厅时看到的“入口标志”(比如“正门”或“外卖窗口”),它告诉你从哪里进。
Protocol 就像是餐厅的“服务流程”(比如“点餐-付款-取餐”),它决定了你如何吃到饭。
版权声明: 本文为 InfoQ 作者【小曾同学.com】的原创文章。
原文链接:【http://xie.infoq.cn/article/c33144d4c3850af2065fd1763】。文章转载请联系作者。
评论