Ini mungkin pertanyaan konyol:
- Apakah HTTP pernah menggunakan User Datagram Protocol?
Sebagai contoh:
Jika seseorang mengalirkan MP3 atau video menggunakan HTTP, apakah secara internal menggunakan UDP untuk transportasi?
Ini mungkin pertanyaan konyol:
Sebagai contoh:
Jika seseorang mengalirkan MP3 atau video menggunakan HTTP, apakah secara internal menggunakan UDP untuk transportasi?
Jawaban:
Biasanya, tidak.
Streaming jarang digunakan melalui HTTP itu sendiri, dan HTTP jarang dijalankan melalui UDP. Lihat, bagaimanapun, RTP .
Untuk sesuatu sebagai contoh Anda (dalam komentar), Anda tidak menampilkan protokol untuk sumber daya. Jika protokol itu adalah HTTP, maka saya tidak akan menyebut akses "streaming"; bahkan jika dalam beberapa arti kata itu karena mengirimkan sumber daya (mungkin besar) secara serial melalui jaringan. Biasanya, sumber daya akan disimpan ke disk lokal sebelum diputar ulang, jadi transfer jaringan bukanlah yang biasanya dimaksud dengan "streaming".
Seperti yang ditunjukkan oleh pemberi komentar, memang mungkin untuk benar-benar melakukan streaming melalui HTTP, dan itu dilakukan oleh beberapa orang.
server push
, di mana koneksi HTTP mengirim MJPEG (beberapa gambar JPEG) masing-masing sebagai bagian terpisah dari respons multi-bagian MIME untuk permintaan HTTP. Setiap gambar JPEG muncul dan menggantikan gambar sebelumnya di layar. Tapi Anda benar @unwind, ini jarang dilakukan hari ini, karena RTP / RTSP bekerja lebih baik.
Dari RFC 2616 :
Komunikasi HTTP biasanya dilakukan melalui koneksi TCP / IP. Port default adalah TCP 80, tetapi port lain dapat digunakan. Ini tidak menghalangi HTTP untuk diterapkan di atas protokol lain di Internet, atau di jaringan lain. HTTP hanya menganggap transportasi yang andal; protokol apa pun yang memberikan jaminan seperti itu dapat digunakan; pemetaan permintaan HTTP / 1.1 dan struktur respons ke unit data transportasi dari protokol yang dimaksud berada di luar cakupan spesifikasi ini.
Jadi meskipun tidak secara eksplisit mengatakannya, UDP tidak digunakan karena ini bukan "transportasi yang dapat diandalkan".
EDIT - baru-baru ini, protokol QUIC (yang lebih ketat adalah pseudo-transport atau protokol lapisan sesi) menggunakan UDP untuk membawa lalu lintas HTTP / 2.0 dan sebagian besar lalu lintas Google sudah menggunakan protokol ini. Saat ini berkembang menuju standardisasi sebagai HTTP / 3 .
Mungkin hanya sedikit hal sepele, tetapi UPnP akan menggunakan pesan berformat HTTP melalui UDP untuk penemuan perangkat.
METHOD
himpunannya berbeda. Setelah itu, UPnP menggunakan protokol lain (dan biasanya TCP) untuk sisa fungsinya.
Ya, HTTP, sebagai protokol aplikasi, dapat ditransfer melalui protokol transport UDP. Berikut adalah beberapa layanan yang menggunakan UDP dan protokol yang mendasari untuk mentransfer data HTTP dan mengalirkannya ke pengguna akhir:
Artikel ini berisi perincian lebih lanjut tentang streaming melalui UDP dan superset andalannya, RUDP: Reliable UDP (RUDP): The Next Big Streaming Protocol?
Mungkin beberapa perubahan pada topik ini dengan QUIC
QUIC (Quick UDP Internet Connections, diucapkan cepat) adalah protokol jaringan lapisan transportasi eksperimental yang dikembangkan oleh Google dan diterapkan pada tahun 2013. QUIC mendukung satu set koneksi multipleks antara dua titik akhir melalui User Datagram Protocol (UDP), dan dirancang untuk memberikan perlindungan keamanan setara dengan TLS / SSL, bersama dengan pengurangan koneksi dan latensi transportasi, dan estimasi bandwidth di setiap arah untuk menghindari kemacetan. Tujuan utama QUIC adalah untuk mengoptimalkan aplikasi web berorientasi koneksi yang saat ini menggunakan TCP.
Jika Anda mengalirkan mp3 atau video yang mungkin belum tentu melalui HTTP, sebenarnya saya akan terkejut jika itu. Ini mungkin akan menjadi protokol lain melalui TCP tetapi saya tidak melihat alasan mengapa Anda tidak dapat melakukan streaming melalui UDP.
Jika Anda melakukannya, Anda harus memperhitungkan bahwa tidak ada kepastian bahwa data Anda akan sampai di ujung lain, tetapi saya dapat mengambilnya bahwa Anda tahu tentang UDP.
Untuk menjawab pertanyaan Anda, Tidak, HTTP TIDAK menggunakan UDP. Untuk apa yang Anda bicarakan, streaming mp3 / video DAPAT terjadi melalui UDP dan menurut saya tidak boleh terjadi melalui HTTP.
Secara teori ya dimungkinkan untuk menggunakan UDP untuk http tapi itu mungkin bermasalah. Katakanlah misalnya dalam contoh Anda mp3 atau video sedang streaming akan ada masalah pemesanan dan beberapa bit mungkin hilang karena UDP tidak berorientasi koneksi tidak ada mekanisme pengiriman ulang.
UDP is not connection oriented there is no retransmit mechanism
.
Saya pikir beberapa jawaban tidak memiliki poin penting. Pilihan antara UDP dan TCP tidak boleh didasarkan pada jenis data (mis., Audio atau video) atau apakah aplikasi mulai memutarnya sebelum transfer selesai ("streaming"), tetapi apakah itu waktu nyata . Data waktu nyata (menurut definisi) peka terhadap penundaan, sehingga sering kali paling baik dikirim melalui RTP / UDP (Protokol Waktu Nyata melalui UDP).
Penundaan bukanlah masalah dengan data yang disimpan dari file, meskipun itu audio dan / atau video, jadi mungkin paling baik dikirim melalui TCP sehingga setiap kehilangan paket dapat diperbaiki. Pengirim dapat membaca terus dan menjaga pipa jaringan tetap penuh dan penerima juga dapat menggunakan banyak buffering playout sehingga tidak akan terganggu oleh transmisi ulang TCP atau perlambatan jaringan sesaat. Kasus pembatas adalah dimana seluruh rekaman ditransfer sebelum pemutaran dimulai. Hal ini menghilangkan risiko kemacetan pemutaran, tetapi seringkali tidak praktis.
Masalah dengan TCP untuk data real-time bukanlah transmisi ulang sebanyak buffering berlebihan karena TCP mencoba menggunakan pipa seefisien mungkin tanpa memperhatikan latensi. UDP mempertahankan batasan paket aplikasi dan tidak memiliki penyimpanan internal, sehingga tidak menimbulkan latensi.
Jawabannya: Ya
Alasan: Lihat model OSI.
Penjelasan:
HTTP adalah protokol lapisan aplikasi, yang dapat dienkapsulasi dengan protokol yang menggunakan UDP, menyediakan komunikasi andal yang bisa dibilang lebih cepat daripada TCP. Daemon server dan klien jelas perlu mendukung protokol baru ini. Protokol Quake 2 membuktikan bahwa UDP dapat digunakan melalui TCP untuk menyediakan dasar bagi sistem komunikasi terstruktur yang menjamin kontrol aliran (mis. ID potongan).
Coba jalankan HTTP melalui UDP dengan node-httpp:
http over udp digunakan oleh beberapa implementasi pelacak torrent (dan supporteb oleh semua klien utama)
(Ini adalah pertanyaan lama, tetapi perlu jawaban yang diperbarui.)
Kemungkinan besar , HTTP / 3 akan menggunakan protokol QUIC , yang dijelaskan sebagai
transportasi multipleks melalui UDP
Jadi, dari sudut pandang tertentu , bisa dibilang HTTP / 3 akan menggunakan UDP.
UDP adalah protokol terbaik untuk streaming, karena tidak menuntut paket yang hilang seperti TCP. Dan jika tidak menuntut, alirannya jauh lebih cepat dan tanpa buffering.
Bahkan penundaan streaming lebih kecil dari TCP. Itu karena TCP (sebagai protokol yang jauh lebih aman) membuat permintaan untuk paket yang hilang, menimpa yang sudah ada.
Jadi TCP adalah protokol yang terlalu canggih untuk digunakan untuk streaming.