当前位置:  开发笔记 > 编程语言 > 正文

HTTP使用UDP吗?

如何解决《HTTP使用UDP吗?》经验,为你挑选了6个好方法。

这可能是一个愚蠢的问题:

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发布.



1> Alnitak..:

来自RFC 2616:

HTTP通信通常通过TCP/IP连接进行.默认端口为TCP 80,但可以使用其他端口.这并不妨碍HTTP在Internet上或其他网络上的任何其他协议之上实现.HTTP只假定可靠的传输; 可以使用任何提供此类保证的协议; HTTP/1.1请求和响应结构到所讨论协议的传输数据单元的映射超出了本规范的范围.

因此,尽管没有明确说明,但不使用UDP,因为它不是"可靠的传输".

编辑 - 最近,QUIC协议(更严格地说是伪传输或会话层协议)确实使用UDP来承载HTTP/2.0流量,而且Google的大部分流量已经使用了这个协议.但它尚未作为RFC发布.


@Alnitak SPDY是一个应用层协议,而不是传输层协议.

2> unwind..:

通常,没有.

流式传输很少用于HTTP本身,而HTTP很少在UDP上运行.但是,请参阅RTP.

对于某些内容(在注释中),您没有显示资源的协议.如果该协议是HTTP,那么我不会将访问称为"流"; 即使它在某种意义上说是因为它通过网络串行发送(可能很大的)资源.通常,资源将在播放之前保存到本地磁盘,因此网络传输不是"流"通常所指的.

正如评论者所指出的那样,确实可以通过HTTP进行实际流式传输,这是由一些人完成的.


显然是错误的,HTTP中没有任何内容可以防止流式传输它只是没有专用协议那么高效.使用块的HTTP Dyanmic Streaming:http://www.adobe.com/products/httpdynamicstreaming/ HTTP Pseudo-Streaming:http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12534 /视频交付-HTTP-伪流
youtube流过http.
@ snowcrash09我甚至不能自己删除它,因为它被接受了.那真是怪了.我重新写了它,我希望它现在不那么冒犯了.
@nos Youtube不是流媒体.浏览器将文件下载到缓存中,并在完全下载之前从文件开始播放.虽然这可以模拟流媒体,但事实并非如此.

3> Frank Schwie..:

也许只是一些琐事,但UPnP将使用UDP格式的消息进行设备发现.


更具体地说,使用UDP和类似HTTP的消息的UPnP部分称为SSDP(简单服务发现协议).消息结构是相同的,但`METHOD`集是不同的.之后,UPnP将其他协议(通常是TCP)用于其余的协议.

4> Exotic Hadro..:

是的,HTTP作为应用程序协议,可以通过UDP传输协议进行传输.以下是一些使用UDP和底层协议传输HTTP数据并将其传输给最终用户的服务:

XMPP的Jingle Raw UDP传输方法

一个使用UDT的服务的数字---基于UDP的数据传输协议,它是UDP协议的超集.

封装HTTP的传输层安全性(TLS)协议以及上面提到的XMPP和其他应用协议确实具有在其传输层中使用UDP的实现; 此实现称为数据报传输层安全性(DTLS).

GNUTella中的推送通知是通过UDP传输发送的HTTP请求.

本文包含有关UDP流传输及其可靠超集的更多详细信息,RUDP:可靠UDP(RUDP):下一个大流媒体协议?



5> 小智..:

当然,它不一定必须通过TCP传输.我在UDP之上实现了HTTP,用于卫星电视广播行业.



6> 小智..:

也许用QUIC对这个话题做了一些改变

QUIC(Quick UDP Internet Connections,发音为quick)是由Google开发并于2013年实施的实验性传输层网络协议.QUIC通过用户数据报协议(UDP)支持两个端点之间的一组多路连接,旨在提供安全保护相当于TLS/SSL,以及减少的连接和传输延迟,以及每个方向的带宽估计,以避免拥塞.QUIC的主要目标是优化当前使用TCP的面向连接的Web应用程序.

推荐阅读
手机用户2502852037
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有