WebTransport is a Game Changer Protocol

  Рет қаралды 52,918

Hussein Nasser

Hussein Nasser

Күн бұрын

backend.husseinnasser.com Fundamentals of Backend Engineering Design patterns udemy course (link redirects to udemy with coupon)
WebTransport is a cutting-edge protocol framework designed to support multiplexed and secure transport over HTTP/2 and HTTP/3. It brings together the best of web and transport technologies, providing an all-in-one solution for real-time, bidirectional communication on the web.
WebTransport can handle different types of data simultaneously over a single connection, thanks to its multiplexing capabilities. This includes both reliable and unreliable transmissions, which allows it to cater to a wide variety of applications, from those demanding utmost data reliability to those requiring ultra-fast, real-time interactions.
With its inherent support for low-latency connections, WebTransport proves a boon for real-time applications. It also offers improved client-to-server communication, breaking free from the traditional model where bidirectional streams are primarily client-initiated.
Furthermore, every WebTransport connection is secured with TLS, offering a high level of data security that's in line with modern web standards.
Being compatible with HTTP/2 and HTTP/3, WebTransport is built to leverage the widespread deployment and proven capabilities of these protocols, while paving the way for a more dynamic and interactive web. It represents a significant step forward in the evolution of backend protocols, promising to revolutionize the way we handle web communications.
In this video I cover the WebTransport protocol
0:00 Intro
0:48 The Simple Web
2:30 WebSockets Limitations
5:00 HTTP/2 & HTTP/3
6:40 gRPC Limitations
8:40 WebTransport
9:30 Unreliable streaming
11:49 WebTransport over HTTP/2 and HTTP/3
12:55 Proxying WebTransport
13:30 Summary
Resources
developer.mozilla.org/en-US/d...
www.ietf.org/archive/id/draft...
www.ietf.org/archive/id/draft...
datatracker.ietf.org/doc/html...
Fundamentals of Networking for Effective Backends udemy course (link redirects to udemy with coupon)
network.husseinnasser.com
Fundamentals of Database Engineering udemy course (link redirects to udemy with coupon)
database.husseinnasser.com
Follow me on Medium
/ membership
Introduction to NGINX (link redirects to udemy with coupon)
nginx.husseinnasser.com
Python on the Backend (link redirects to udemy with coupon)
python.husseinnasser.com
Become a Member on KZbin
/ @hnasr
Buy me a coffee if you liked this
www.buymeacoffee.com/hnasr
Arabic Software Engineering Channel
/ @husseinnasser
🔥 Members Only Content
• Members-only videos
🏭 Backend Engineering Videos in Order
backend.husseinnasser.com
💾 Database Engineering Videos
• Database Engineering
🎙️Listen to the Backend Engineering Podcast
husseinnasser.com/podcast
Gears and tools used on the Channel (affiliates)
🖼️ Slides and Thumbnail Design
Canva
partner.canva.com/c/2766475/6...
Stay Awesome,
Hussein

Пікірлер: 73
@hnasr
@hnasr 11 ай бұрын
backend course backend.husseinnasser.com
@aliadel1723
@aliadel1723 8 ай бұрын
Fix the mic ♥ pls
@HardikGhoshal
@HardikGhoshal 11 ай бұрын
Hi Hussein I just wanted to say that I got an admission offer from Technical University of Dresden for masters in Distributed Systems Engineering. And it wouldn't have been possible without your videos. I've been following you since the last couple of years and your content has been extremely helpful and thought provoking. I wouldn't have been here without you. Thanks and never stop making free content like this. ❤️
@oluwaseunsorinola7039
@oluwaseunsorinola7039 11 ай бұрын
Congratulations.
@turbinator70707
@turbinator70707 9 ай бұрын
If he got you a job with all this free content share the love and send him a tip!
@thatryanp
@thatryanp 2 ай бұрын
Hussein's pacing, expressions and intonation add so much context to these complex topics. 13:14 - summarizing layer 4 proxying with a single gesture and noise - I understood instantly.
@Akshatgiri
@Akshatgiri Жыл бұрын
Yo this video was awesome. Web has evolved so much that it’s hard to understand how we landed on the ‘latest solution’. Knowing the history helps answer the ‘why’ for the technology. Thank you
@yash1152
@yash1152 11 ай бұрын
not just web, same holds for computing, maths, physics, chemistry, politics and at times cotemporary culture as well
@vikingthedude
@vikingthedude 5 ай бұрын
This applies to my household rules as well
@Gahlfe123
@Gahlfe123 11 ай бұрын
11:35 and this why i love Postgres, has so many capabilities that i love tinkering with and i dont feel limited but know that if i need this feature from sql its probably available.
@RootsterAnon
@RootsterAnon 11 ай бұрын
Awesome, my friend and I had to use WebRTC in order to have car game with decent UDP support for fast data transfer like playerPostion, while all other game logic was with WebSockets reliable (match start, match end, etc). WebRTC was pain in the ass so I am glad to hear there are some new protocols that as you said gives us control how we want our data be sent/received and how we deal with that on app level.
@redhood7105
@redhood7105 11 ай бұрын
Unfortunately, people tend to give up control too easily. I understand that when dealing with simple tasks, it can be tempting to delegate to black-box solutions without much consideration. However, this mindset can foster a dangerous culture. While working with raw streams or low level APIs may require more code and can increase the risk of mistakes, it also presents valuable learning opportunities. Engaging with low-level APIs, streams, and similar concepts can ultimately make you a better developer, enhancing your skills and understanding.
@drac.96
@drac.96 11 ай бұрын
Agreed
@autohmae
@autohmae 11 ай бұрын
best is to have both APIs, high level and low-level. So when someone needs to build something simple quickly, high-level will do... The alternative is: having a low-level API and a good open source/free software libraries/framework that implements a high-level API.
@parlor3115
@parlor3115 11 ай бұрын
It's a compromise really. And us devs need to find the solution that gets the job done asap while taking into account future expansion.
@jacob_90s
@jacob_90s 10 ай бұрын
I kind of agree. I do think that people should be more willing to familiarize themselves with lower level concepts, rather than just treating them like black boxes as you put it. Even if you have no desire to work with code at that level, being more familiar with the mechanics of it can help you utilize it better, and avoid bad use cases. However in a production environment, trying to rebuild everything from scratch without first having experience on the higher level is a recipe for disaster, and a great example of premature optimization (regardless of whether you're trying to optimize for execution time, memory usage, stability, scalability, etc). I would also say this would be much easier to get people to do if developers would stop writing documentation which is ostensibly for 3rd parties, but in fact only makes sense to people who are already intimately familiar with it. This whole hazing routine of "I-had-to-suffer-reading-shit-documentation-so-you-do-to" really needs to stop.
@VaibhavPatil-rx7pc
@VaibhavPatil-rx7pc 8 ай бұрын
Your explanation makes anyone visualization internal of network magics
@P8qzxnxfP85xZ2H3wDRV
@P8qzxnxfP85xZ2H3wDRV 11 ай бұрын
Any chance we can get a comparison video between NATS and RabbitMQ? I would also love videos about Aeron and FastDDS, in comparison to ZeroMQ.
@emenikedaniel
@emenikedaniel 11 ай бұрын
I love your detailed explanation and ur vast understanding on the subject is top notch👏👏
@Openspeedtest
@Openspeedtest 11 ай бұрын
I can't believe this is actually happening, it feels like a dream!
@Alexithymiander
@Alexithymiander 9 ай бұрын
Incredibly insightful explanations.
@tyu3456
@tyu3456 11 ай бұрын
I'm just waiting for the job descriptions - 5+ years experience required in WebTransport development 😂😂
@LukasSchindler
@LukasSchindler 11 ай бұрын
Could you at some point make a video going into detail, how e.g. twitch is able to bypass ad blockers and the concepts involved in such processes?
@dario.lencina
@dario.lencina 11 ай бұрын
Amen brother!!! lets do this! long life to WebTransport!
@pemessh
@pemessh Жыл бұрын
As always, thank you for the amazing video. Just a quick naive question. :) How does this translate to the load on the servers?
@uchennaofoma4624
@uchennaofoma4624 11 ай бұрын
Amazing video 👏. I've been sub for a long time, that's how I noticed 5hr improvement 😀
@REDIDSoft
@REDIDSoft 11 ай бұрын
Amazing video hussein😊
@dhruvvadodariya4685
@dhruvvadodariya4685 7 ай бұрын
Hello Hussein, great video but i have one question at 13:10 you mentiontioned something like layer-7 and layer-4, what does that mean, I many sound silly asking this question but I only have 3 years of experience with web development.
@chudchadanstud
@chudchadanstud 11 ай бұрын
Webshizzers have done it again! They've convoluted the space and made it more complex.
@mhcbon4606
@mhcbon4606 Жыл бұрын
hm. Looks good, i am intrigued by this prop of the transport "draning", I have not seen that mechanism often. I still wonder where it stops, about the networking APIs. There has been several, it is not like they did not have success, but we would not be here if something was not off.
@mariumbegum7325
@mariumbegum7325 11 ай бұрын
Fantastic video!
@chris-pee
@chris-pee Жыл бұрын
Small nitpick, you seem to have mixed up unreliable with unordered, when describing datagrams (which are obviously both). In practice the difference is pretty small, but if someone uses datagrams for online multiplayer games, then it will matter.
@jlai383
@jlai383 Жыл бұрын
Thanks!
@kartikjain3064
@kartikjain3064 11 ай бұрын
Hi @Hussein can you explained the Gmail backend design?
@jamesking4888
@jamesking4888 8 ай бұрын
Hi, can you please make a video explaining how to create a WebTransport server with Datagrams and Streams?
@DF-ss5ep
@DF-ss5ep 11 ай бұрын
I'm guessing WASM has something to do with this. With the required low level primitives, WASM would get portability between a real OS and just a web browser
@akshay-kumar-007
@akshay-kumar-007 11 ай бұрын
I know I should get the answer of this by profiling, but wanted to know from all other fellow engineers here, Will WebTransport protocol (over HTTP/2) be ideal for a high throughput usecase (like sending the LTP of a stock or cryptocurrency)?
@mohammadravand4351
@mohammadravand4351 10 ай бұрын
hi, thanks for this best channel. but why you dont using diagrams to demonstrate , diagram really help to underestand.
@andrewandrosow4797
@andrewandrosow4797 4 ай бұрын
Hello! It would be good to have a raw TCP connection in web browser.But they (web consorcium) don't want to allow it for developers
@leojohn6702
@leojohn6702 11 ай бұрын
Btw. Is http3 available for nodejs?
@malleswaribhumireddy8630
@malleswaribhumireddy8630 11 ай бұрын
Thank you about this video but I have too web transport in python how to use this
@pajeetsingh
@pajeetsingh 11 ай бұрын
Yes we need full new standard.
@user-rx7fv8rg4t
@user-rx7fv8rg4t 11 ай бұрын
what does meant by stream ?
@krishnaSagar69
@krishnaSagar69 3 ай бұрын
Ezsnippet recommended your video bhai.
@user-hn1ph6ry8l
@user-hn1ph6ry8l 11 ай бұрын
We have epic WebRTC failure, where great idea about P2P connection was killed by NAT. Will WebTransport can be useful in real world with all this proxy, CDN e.t.c and wild zoo of browsers at client side? I see somone still support they project for IE.
@jsonkody
@jsonkody 11 ай бұрын
Musashi :) I've read it twice already.
@saeedalobidi4195
@saeedalobidi4195 Жыл бұрын
Hussein Nasser I was wondering why, now that we have IPv6, which can cover all devices in the world, each device has its own IP address so we don't have to design new bidirectional protocols such as sockets
@davidstephen7070
@davidstephen7070 11 ай бұрын
ip and protocol is different things. ip is for identify device. protocol is what and how characteristic to send something.
@saeedalobidi4195
@saeedalobidi4195 11 ай бұрын
Yes, I get that, but I mean that if each device has its own IP, we don't need bidirectional protocols since each device acts as a server, and the server may obtain the IP addresses of all linked devices and transmit them straight to a specific device. because the main purpose of the bidirectional protocol is to allow the server to send data back to the client and keep the connection alive
@davidstephen7070
@davidstephen7070 11 ай бұрын
​@@saeedalobidi4195 oh i see, i think because bussiness and permit management. thats why each client still dont get own public ip. it more easy and scallable to use NAT, one public ip used by several client by assign private ip.
@kevinb1594
@kevinb1594 11 ай бұрын
So what makes this better that webrtc?
@JetpackBattle-lc7ob
@JetpackBattle-lc7ob 10 ай бұрын
For starters you dont need multiple protocols and 2 seperate servers minimum to correctly establish connections
@umer.on.youtube
@umer.on.youtube 11 ай бұрын
Who said it's the best time to be a developer?? GIVE US A BREAK. Tech is going wayyyyy too fast and hot these days
@autohmae
@autohmae 11 ай бұрын
An other way to look at it, enjoy this quiet period before it moves even faster ! 🙂
@ttrss
@ttrss 11 ай бұрын
so webtransport over http/3 is like UDP -> QUIC -> UDP again?
@thatryanp
@thatryanp 2 ай бұрын
WebTransport appears to offer any connection format you would want (uni, bi, unreliable). So: UDP -> QUIC -> (HTTP | WebSockets | UDP-like)
@AnasAlQudah
@AnasAlQudah 11 ай бұрын
الله يجزيك الخير
@jejeraojadhav5090
@jejeraojadhav5090 9 ай бұрын
It resembles RSocket created at Netflix
@yash1152
@yash1152 11 ай бұрын
10:56 so, how does it diffor from QUIC ?
@thatryanp
@thatryanp 2 ай бұрын
WebTransport is available on both HTTP/2 and HTTP/3. QUIC is an HTTP/3 thing, basically building around head-of-line issues with TCP by using UDP instead.
@yash1152
@yash1152 2 ай бұрын
@@thatryanp ohwkayh.
@Mohamed_jeddah
@Mohamed_jeddah Жыл бұрын
@tmbarral664
@tmbarral664 11 ай бұрын
Miyamoto ?
@davepubliday6410
@davepubliday6410 11 ай бұрын
Why not just use sockets. Old fashioned TCP sockets. Why all this stuff on top of it?
@JetpackBattle-lc7ob
@JetpackBattle-lc7ob 10 ай бұрын
tcp IS stuff on top.. this gives us access to the lower level udp
@davepubliday6410
@davepubliday6410 10 ай бұрын
@@JetpackBattle-lc7ob I believe the BSD Sockets library let’s you use TCP and UDP. Perhaps I shouldn’t have been so specific citing TCP. I never completely understood why Websockets is a thing when actual sockets are available as an option, and have been a thing since the inception of the Internet.
@robl39
@robl39 11 ай бұрын
Hey Hussein, I love your content but sometimes it would be nice if these were summarized into 5 minutes or less. My short attention span gets the best of me after that point. Just my unsolicited opinion and hopefully you take it with positive intent. Thanks for the content!
@user-oh4vt4pt9v
@user-oh4vt4pt9v 11 ай бұрын
Sounds like R-Socket
@korigamik
@korigamik 11 ай бұрын
interesting
@AlayDhagia
@AlayDhagia 11 ай бұрын
You look like an older version of CarryMinati 😅
@abharti
@abharti 9 ай бұрын
LGTM
@stewiegriffin6503
@stewiegriffin6503 11 ай бұрын
booooooooooooooooooooooooring
@mohammedabdulbary1577
@mohammedabdulbary1577 Жыл бұрын
another amazing video ❤️❤️
Threads and Connections | The Backend Engineering Show
49:30
Hussein Nasser
Рет қаралды 62 М.
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 30 МЛН
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,5 МЛН
100❤️
00:19
Nonomen ノノメン
Рет қаралды 38 МЛН
HOW QUIC WORKS - Intro to the QUIC Transport Protocol
8:24
Chris Greer
Рет қаралды 64 М.
I ask this question to every Backend Engineer I interview
11:44
Hussein Nasser
Рет қаралды 369 М.
Live Media Over QUIC | Luke Curley
19:03
@Scale
Рет қаралды 1,8 М.
The QUIC Protocol, HTTP3, and How HTTP Has Evolved
17:32
TheDataDaddi
Рет қаралды 37 М.
A Deep Dive in How Slow SELECT * is
39:24
Hussein Nasser
Рет қаралды 36 М.
What does larger scale software development look like?
24:15
Web Dev Cody
Рет қаралды 1,2 МЛН
No-Nonsense Backend Engineering Roadmap
10:16
Codebagel
Рет қаралды 156 М.
WebRTC vs WebSocket! Which one rules the web? | Jelvix
6:35
Jelvix | TECH IN 5 MINUTES
Рет қаралды 7 М.
Server-Sent Events Crash Course
29:48
Hussein Nasser
Рет қаралды 84 М.
iPhone 12 socket cleaning #fixit
0:30
Tamar DB (mt)
Рет қаралды 3,9 МЛН
iphone fold ? #spongebob #spongebobsquarepants
0:15
Si pamer 😏
Рет қаралды 201 М.
Apple, как вас уделал Тюменский бренд CaseGuru? Конец удивил #caseguru #кейсгуру #наушники
0:54
CaseGuru / Наушники / Пылесосы / Смарт-часы /
Рет қаралды 4,5 МЛН
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 6 МЛН