[http] HTTP는 UDP를 사용합니까?

이것은 어리석은 질문 일 수 있습니다.

  • HTTP는 사용자 데이터 그램 프로토콜을 사용합니까?

예를 들면 :

HTTP를 사용하여 MP3 또는 비디오를 스트리밍하는 경우 내부적으로 전송에 UDP를 사용합니까?



답변

일반적으로 아닙니다.

스트리밍은 HTTP 자체에서 거의 사용되지 않으며 HTTP는 UDP에서 거의 실행되지 않습니다. 그러나 RTP를 참조하십시오 .

예를 들어 (주석에서) 리소스에 대한 프로토콜을 표시하지 않습니다. 그 프로토콜이 HTTP라면 액세스를 “스트리밍”이라고 부르지 않을 것입니다. 어떤 의미에서 네트워크를 통해 (아마도 큰) 리소스를 직렬로 전송하기 때문 일지라도. 일반적으로 리소스는 재생되기 전에 로컬 디스크에 저장되므로 네트워크 전송은 일반적으로 “스트리밍”을 의미하는 것이 아닙니다.

댓글 작성자가 지적했듯이 실제로 HTTP를 통해 스트리밍 할 수 있으며 일부는이를 수행합니다.


답변

에서 RFC 2616 :

HTTP 통신은 일반적으로 TCP / IP 연결을 통해 이루어집니다. 기본 포트는 TCP 80이지만 다른 포트를 사용할 수 있습니다. 이것은 인터넷이나 다른 네트워크에서 HTTP가 다른 프로토콜 위에 구현되는 것을 배제하지 않습니다. HTTP는 신뢰할 수있는 전송만을 가정합니다. 이러한 보증을 제공하는 모든 프로토콜을 사용할 수 있습니다. HTTP / 1.1 요청 및 응답 구조를 해당 프로토콜의 전송 데이터 단위에 매핑하는 것은이 사양의 범위를 벗어납니다.

따라서 명시 적으로 명시하지는 않지만 UDP는 “신뢰할 수있는 전송”이 아니기 때문에 사용되지 않습니다.

편집하다 -최근에는 QUIC 프로토콜 (보다 엄격하게 의사 전송 또는 세션 계층 프로토콜)은 HTTP / 2.0 트래픽을 전송하는 데 UDP를 사용하며 Google 트래픽의 대부분은 이미이 프로토콜을 사용합니다. 현재 HTTP / 3 로 표준화를 진행하고 있습니다 .


답변

약간의 퀴즈 일 수도 있지만 UPnP는 장치 검색을 위해 UDP를 통해 HTTP 형식 메시지를 사용합니다.


답변

예, 애플리케이션 프로토콜 인 HTTP는 UDP 전송 프로토콜을 통해 전송할 수 있습니다. 다음은 HTTP 데이터를 전송하고 최종 사용자에게 스트리밍하기 위해 UDP 및 기본 프로토콜을 사용하는 몇 가지 서비스입니다.

  • XMPP의 Jingle Raw UDP 전송 방법
  • UDT를 사용하는 서비스의 번호 — UDP 프로토콜의 상위 집합 인 UDP 기반 데이터 전송 프로토콜입니다.
  • HTTP를 캡슐화하는 TLS (Transport Layer Security) 프로토콜과 위에서 언급 한 XMPP 및 기타 응용 프로그램 프로토콜에는 전송 계층에서 UDP를 사용하는 구현이 있습니다. 이 구현을 DTLS (Datagram Transport Layer Security)라고합니다.
  • GNUTella의 푸시 알림은 UDP 전송을 통해 전송되는 HTTP 요청입니다.

이 기사에는 UDP를 통한 스트리밍과 신뢰할 수있는 상위 집합 인 RUDP : RUDP (Reliable UDP) : 차세대 빅 스트리밍 프로토콜?


답변

물론 반드시 TCP를 통해 전송 될 필요는 없습니다. 저는 위성 TV 방송 산업에서 사용하기 위해 UDP 위에 HTTP를 구현했습니다.


답변

QUIC 로이 주제에 대한 약간의 변경

QUIC (Quick UDP Internet Connections, quick 발음)는 Google에서 개발하고 2013 년에 구현 한 실험적인 전송 계층 네트워크 프로토콜입니다. QUIC는 UDP (User Datagram Protocol)를 통해 두 엔드 포인트 간의 다중 연결 집합을 지원하며 보안 보호를 제공하도록 설계되었습니다. TLS / SSL과 동일하며 연결 ​​및 전송 대기 시간 감소, 혼잡을 방지하기위한 각 방향의 대역폭 추정. QUIC의 주요 목표는 현재 TCP를 사용하는 연결 지향 웹 애플리케이션을 최적화하는 것입니다.


답변

HTTP를 통하지 않을 수도있는 mp3 또는 비디오를 스트리밍하는 경우 실제로 그랬다면 놀라 울 것입니다. 아마도 TCP를 통한 또 다른 프로토콜 일 수 있지만 UDP를 통해 스트리밍 할 수없는 이유가 없습니다.

데이터가 다른 쪽 끝에 도착할 것이라는 확신이 없다는 점을 고려해야하지만 UDP에 대해 알고있는 것으로 받아 들일 수 있습니다.

아니오, HTTP는 UDP를 사용하지 않습니다. 그러나 당신이 말하는 것에 대해, mp3 / 비디오 스트리밍은 UDP를 통해 발생할 수 있으며 제 생각에는 HTTP를 통해 발생해서는 안됩니다.