这可能是一个愚蠢的问题:
HTTP是否曾使用用户数据报协议?
例如:
如果使用HTTP传输MP3或视频,它是否在内部使用UDP进行传输?
Alnitak.. 109
来自RFC 2616:
HTTP通信通常通过TCP/IP连接进行.默认端口为TCP 80,但可以使用其他端口.这并不妨碍HTTP在Internet上或其他网络上的任何其他协议之上实现.HTTP只假定可靠的传输; 可以使用任何提供此类保证的协议; HTTP/1.1请求和响应结构到所讨论协议的传输数据单元的映射超出了本规范的范围.
因此,尽管没有明确说明,但不使用UDP,因为它不是"可靠的传输".
编辑 - 最近,QUIC协议(更严格地说是伪传输或会话层协议)确实使用UDP来承载HTTP/2.0流量,而且Google的大部分流量已经使用了这个协议.但它尚未作为RFC发布.
来自RFC 2616:
HTTP通信通常通过TCP/IP连接进行.默认端口为TCP 80,但可以使用其他端口.这并不妨碍HTTP在Internet上或其他网络上的任何其他协议之上实现.HTTP只假定可靠的传输; 可以使用任何提供此类保证的协议; HTTP/1.1请求和响应结构到所讨论协议的传输数据单元的映射超出了本规范的范围.
因此,尽管没有明确说明,但不使用UDP,因为它不是"可靠的传输".
编辑 - 最近,QUIC协议(更严格地说是伪传输或会话层协议)确实使用UDP来承载HTTP/2.0流量,而且Google的大部分流量已经使用了这个协议.但它尚未作为RFC发布.
通常,没有.
流式传输很少用于HTTP本身,而HTTP很少在UDP上运行.但是,请参阅RTP.
对于某些内容(在注释中),您没有显示资源的协议.如果该协议是HTTP,那么我不会将访问称为"流"; 即使它在某种意义上说是因为它通过网络串行发送(可能很大的)资源.通常,资源将在播放之前保存到本地磁盘,因此网络传输不是"流"通常所指的.
正如评论者所指出的那样,确实可以通过HTTP进行实际流式传输,这是由一些人完成的.
也许只是一些琐事,但UPnP将使用UDP格式的消息进行设备发现.
是的,HTTP作为应用程序协议,可以通过UDP传输协议进行传输.以下是一些使用UDP和底层协议传输HTTP数据并将其传输给最终用户的服务:
XMPP的Jingle Raw UDP传输方法
一个使用UDT的服务的数字---基于UDP的数据传输协议,它是UDP协议的超集.
封装HTTP的传输层安全性(TLS)协议以及上面提到的XMPP和其他应用协议确实具有在其传输层中使用UDP的实现; 此实现称为数据报传输层安全性(DTLS).
GNUTella中的推送通知是通过UDP传输发送的HTTP请求.
本文包含有关UDP流传输及其可靠超集的更多详细信息,RUDP:可靠UDP(RUDP):下一个大流媒体协议?
当然,它不一定必须通过TCP传输.我在UDP之上实现了HTTP,用于卫星电视广播行业.
也许用QUIC对这个话题做了一些改变
QUIC(Quick UDP Internet Connections,发音为quick)是由Google开发并于2013年实施的实验性传输层网络协议.QUIC通过用户数据报协议(UDP)支持两个端点之间的一组多路连接,旨在提供安全保护相当于TLS/SSL,以及减少的连接和传输延迟,以及每个方向的带宽估计,以避免拥塞.QUIC的主要目标是优化当前使用TCP的面向连接的Web应用程序.