Esto podría ser una pregunta tonta:¿HTTP usa UDP?
- ¿Tiene alguna HTTP utiliza el Protocolo de datagramas de usuario?
Por ejemplo:
Si uno está transmitiendo MP3 o vídeo mediante HTTP, lo hace internamente utilizar UDP para el transporte?
Esto podría ser una pregunta tonta:¿HTTP usa UDP?
Por ejemplo:
Si uno está transmitiendo MP3 o vídeo mediante HTTP, lo hace internamente utilizar UDP para el transporte?
Normalmente, no.
La transmisión rara vez se utiliza en HTTP, y HTTP rara vez se ejecuta sobre UDP. Ver, sin embargo, RTP.
Por algo como su ejemplo (en el comentario), no está mostrando un protocolo para el recurso. Si ese protocolo fuera HTTP, no llamaría "transmisión" al acceso; incluso si es en algún sentido de la palabra, ya que está enviando un recurso (posiblemente grande) en serie a través de una red. Normalmente, el recurso se guardará en el disco local antes de ser reproducido, por lo que la transferencia de red no es lo que generalmente se entiende por "transmisión".
Como los comentaristas han señalado, sin embargo, ciertamente es posible transmitir realmente a través de HTTP, y eso es algo que hacen algunos.
Obvio error, no hay nada en HTTP que impida la transmisión, pero no es tan eficiente como sería un protocolo dedicado. HTTP Dyanmic streaming usando trozos: http://www.adobe.com/products/httpdynamicstreaming/ HTTP Pseudo-Streaming: http://www.longtailvideo.com/support/jw-player/jw-player -for-flash-v5/12534/video-delivery-http-pseudo-streaming –
youtube transmite en http. – nos
@ snowcrash09 Ni siquiera puedo eliminarlo, ya que es aceptado. Eso es raro. Lo re-escribí, espero que sea menos ofensivo ahora. – unwind
Quizás solo sea un poco trivial, pero UPnP usará mensajes formateados HTTP sobre UDP para el descubrimiento de dispositivos.
Para ser más específico, la parte de UPnP que usa UDP y mensajes similares a HTTP es llamado SSDP (Simple Service Discovery Protocol). La estructura del mensaje es la misma, pero el conjunto 'METHOD' es diferente. Después de eso, UPnP usa otros protocolos (y generalmente TCP) para el resto de lo que hace. –
Si está transmitiendo un mp3 o video que puede no ser necesariamente por HTTP, de hecho me sorprendería si fuera así. Probablemente sea otro protocolo sobre TCP, pero no veo ninguna razón por la cual no se pueda transmitir a través de UDP.
Si lo hace, debe tener en cuenta que no hay certeza de que sus datos llegarán al otro extremo, pero puedo entender que usted sabe acerca de UDP.
Para responder a su pregunta, No, HTTP NO usa UDP. Para lo que se habla, la transmisión de mp3/video PODRÍA suceder en UDP y en mi opinión nunca debería pasar por HTTP.
"transmisión" a través de HTTP se denomina comúnmente (lo que considero más preciso) "pseudo-transmisión": una velocidad de bits regulada de datos a través de HTTP. Como es en gran parte en nuestro mundo, los tipos de mercadotecnia han abusado de la nomenclatura dejando a gente orientada a los detalles como a nosotros mismos aferrándonos a los detalles. –
De RFC 2616:
comunicación HTTP suele tener lugar a través de conexiones TCP/IP. El puerto predeterminado es TCP 80, pero se pueden usar otros puertos . Esto no impide que HTTP se implemente encima de cualquier otro protocolo en el Internet o en otras redes. HTTP solo supone un transporte confiable; se puede usar cualquier protocolo que proporcione tales garantías ; el mapeo de HTTP/1.1 solicitud y respuesta estructuras en los datos de transporte unidades del protocolo en cuestión es fuera del alcance de esta especificación .
Así que aunque no lo dice explícitamente, UDP no se utiliza porque no es un "transporte confiable".
¿Hay algún servidor web que se pueda configurar para aceptar conexiones que no sean TCP? – Spidey
Aquí hay una modificación a apache http://pel.cis.udel.edu/ para usar el protocolo SCTP en lugar de TCP. – nos
@nos Yup, y Google también tiene SPDY. Sin embargo, ambos son mecanismos de transporte confiables. – Alnitak
La respuesta: Sí
Motivo: Ver el modelo OSI.
Explaination:
HTTP es un protocolo de capa de aplicación, lo que podría ser encapsulado con un protocolo que utiliza UDP, proporcionando posiblemente una comunicación más rápida fiable que TCP. El daemon del servidor y el cliente obviamente necesitarían soportar este nuevo protocolo. El protocolo Quake 2 demuestra que UDP se puede usar a través de TCP para proporcionar una base para un sistema de comunicación estructurado asegurando el control de flujo (por ejemplo, identificadores de fragmentos).
UDP es el mejor protocolo para la transmisión, ya que no exige que falten paquetes como TCP. Y si no exige nada, el flujo es mucho más rápido y sin ningún almacenamiento intermedio.
Incluso el retraso de la secuencia es menor que TCP. Esto se debe a que TCP (como protocolo mucho más seguro) exige demandas por paquetes faltantes, sobrescribiendo los existentes.
So TCP es un protocolo demasiado avanzado para ser utilizado para la transmisión.
esto no responde la pregunta, sin embargo, podría ser un razonamiento para una respuesta. – Hawken
re: "mejor protocolo para transmisión" dado que "velocidad de fragmentos de datos individuales" es más importante que "todos los datos que se transmiten". Si su transmisión no puede recuperarse fácilmente de fragmentos faltantes, entonces será mejor que vaya con TCP. Muchos protocolos de video de seguridad eligen TCP por esa razón: la confiabilidad es más importante que la velocidad bruta. –
Trate de ejecutar HTTP a través de UDP con el nodo-httpp:
Por supuesto, no necesariamente tiene que ser transmitida a través de TCP. Implementé HTTP sobre UDP, para usar en la industria de transmisión de TV satelital.
Sí, HTTP, como protocolo de aplicación, se puede transferir a través del protocolo de transporte UDP. Éstos son algunos de los servicios que utilizan UDP y un protocolo subyacente para la transferencia de datos HTTP y streaming para el usuario final:
Este artículo contiene detalles adicionales en streaming a través de UDP y su superconjunto fiable, el RUDP: Reliable UDP (RUDP): The Next Big Streaming Protocol?
Otra pregunta: ¿los principales navegadores web admiten páginas web HTTP sobre UDP? – user2284570
sí porque HTTP está en la capa de aplicación y UDP en la capa de transporte. los navegadores no escriben paquetes TCP o UDP. Tampoco escriben paquetes de IP. Esos son manejados por el sistema operativo y los controladores. La capa de Ethernet es tan baja que puede estar en un chip cercano al MAC en este punto. –
http a través de UDP es utilizado por algunas implementaciones torrente Tracker (y supporteb por todos los clientes principales)
Incluya referencias para respaldar sus declaraciones. –
A medida que lo leo, el protocolo de seguimiento de Torrent UDP es binario, y NO tiene formato como HTTP en absoluto. http://xbtt.sourceforge.net/udp_tracker_protocol.html –
Tal vez algunos cambios en este tema con QUIC
QUIC (Quick UDP Internet Connections, pronunciado rápido) es un protocolo de red de capa de transporte experimental desarrollado por Google e implementado en 2013.QUIC admite un conjunto de conexiones multiplexadas entre dos puntos finales sobre User Datagram Protocol (UDP), y fue diseñado para proporcionar protección de seguridad equivalente a TLS/SSL, junto con una latencia reducida de conexión y transporte, y estimación de ancho de banda en cada dirección para evitar la congestión. El objetivo principal de QUIC es optimizar las aplicaciones web orientadas a la conexión que actualmente usan TCP.
En teoría sí, es posible usar UDP para http, pero eso podría ser problemático. Digamos, por ejemplo, en su ejemplo que se está transmitiendo un archivo mp3 o un video, que habrá un problema de pedido y que algunos bits pueden perderse, ya que el UDP no está orientado a la conexión, no hay un mecanismo de retransmisión.
Bien mencionado: 'UDP no está orientado a la conexión, no hay mecanismo de retransmisión'. – ivanleoncz
¿Qué quiere decir con: "la web"? ¿Quieres decir usar un navegador? ¿O en internet público? – benc
Lo que quise preguntar fue decir que hay un mp3 alojado en una URL algo así como http: //someserver/somemusic.mp3. Si esto se transmite a cualquier cliente: navegador, dispositivo, etc. ¿Cómo lo transfiere http? Si entiendo correctamente las respuestas a continuación, esto se delega a RTP. – Sesh
Port 80 UDP también está reservado para HTTP, lo cual me parece divertido ya que nunca lo he visto usar, ni podría imaginar un buen uso para él. – Joshua