Each of these steps has a huge number of background operations going on to make it happen. I'm a retired DNS guy, and that process alone could occupy one of Dave's videos.
Computing is a perfect example of the Dunning-Kruger effect. The average person completely under estimates the complexity behind things that have become common.
@@johntoe6127 definitely. I know a guy who is like a 10x dev wizard type dude. His motto is "all I know is that I know nothing". Personally I gave up on being a web dev about a year and a half after I became competent enough to do some cool stuff. The realization that just because you made it work doesn't mean you didn't build it in a way that somebody smarter than you would consider stupid is a tough one to stomach.
@@johntoe6127 The Dunning-Kruger effect has nothing to do with underestimating the complexity but only with over estimating the own knowledge. Those are two very different things. Explaining how DNS roughly works is perfectly fine, even when you don't know every little detail. Telling a lay person that it's essentially a telepone book for the internet is enough to get an idea what it does or what it's there for. As long as you don't claim you know everything about DNS, there's nothing wrong with only having partial knowledge. I for myself have written my own DNS server from scratch in C# which currently runs on my raspberry pi with mono :P Though I've only implemented what I needed / wanted and it was more a proof-of-concept / learning project. I've read through most of the RFCs. I didn't implement any DNSSEC stuff. Though my server supports both, UDP and TCP requests. It does not act as a resolver for other zones than my own as I only serve my own records. Currently every request and response is written as a hex dump to the console :) Runs stable for over a year non-stop now. So I don't consider myself as a DNS expert, by no means, but I have a fairly good understanding of the basic protocol, even though I don't implement every extension (DoT, DoQ, DoH, TSIG, ...). Though it's funny to see how many requests come in to check the "bind" version as most would assume that a DNS server is some variant of bind. Berkeley has set quite a few standards over the time. A lot of people who "work" with DNS don't really understand the fine details of the protocol either. Most work only on the configuration level. DNS has a fascinating "name compression" system for requests as each part of a domain name is split into it's individual labels and when multiple things are requested or returned, the protocol can use back references to labels that already existed. Those can even be recursive. Quite fun to implement a parser and encoder for that. I often miss many concept of the "old days" where they tried to spare every bit without the need to make it overly complicated. Modern day development is more about: "we do have the CPU power, memory and bandwidth, so f-it". The "old" protocols were all designed to be easily parsable by hardware implementations. Most modern stuff is just a mess with tons of overhead.
@@johntoe6127 I like to adapt the Coastline paradox into computing and technology or any other process-related subjects. The more you dig into each component or step, the more questions you'll end up having :D And often you forget some of the old stuff you have learned, so it's impossible for one person to handle/understand everything.
I did the Tetris thing in reverse, I incorporated a sourcecode version of tetris into the system that would start with the Break key, and stop with the Escape key😂
Hey, Dave. As someone who has been teaching this stuff for nearly 30 years, I can say without hesitation that you are excellent at it. I found myself saying out loud, "Dave, you forgot to mention ..." only for you to say it five seconds later. I recommend your channel to my students. On a side note, how about a follow-up video on TCP vs. UDP and, more importantly, QUIC? I'm amazed at how little info there is on QUIC in the traditional educational resources I (must) use. Perhaps more Layer 3 info on how IP works as well.
Yes - maybe another follow up video on how a UA-cam video of Dave gets to you - with distributed network of YT servers and use of QUIC to overcome the round trip time that was a problem video over TCP - especially over 4G and / or satellite - my domain!
Back before the internet existed, this process was all done manually, I used to hate the three-way handshakes, but I did enjoy the cookies! Seriously, another great video Dave! Thank you for sharing your experience and knowledge with us!
I am a web tech and manage servers for websites I am glad you went over this. There are so many people who think this is magical and that the internet just works; no it doesn't there is a lot fo work, systems, deamons and configuration files involved. The internet is fascinating and humbling if you understand all the work that goes into making it work and keeping it up.
The protocols doesn't explain how it works at all honestly. Like how the ip address knows where it is in the world and how a device connects to it. Dns to ip ok but what does the ip do
I built myself a simple HTTP 1.0 server in C as a little project. Learned so much about how the protocols work, how sockets work, and how to build something according to documentation & specs. One of my favorite projects that I've done for fun.
@@julianocardarelli5106 @julianocardarelli5106 It was a very, very simple server just using the standard POSIX libraries built into FreeBSD. Nothing external required. I'd share a link to the github, but UA-cam keeps filtering out comments with links
Dave ... even more amazing than this incredibly complex series of steps to display a web page, is that you managed to rattle off the entire sequence without skipping a beat. Unbelievable.
These are my favorite types of videos! You do such a good job and explain a level deeper than so many other channels. I learn more in these type of vids than years of UA-cam IT osmosis.
Nobody can explain these things better than Dave! I often send these videos to people I know who are struggling with these concepts and they all tell me how much it helped!! WELL DONE DAVE 👍👍👍
It frightens me that I have intimate knowledge of everything you described. Kudos on leaving out the really boring details. One of my minor claims to fame as a former employee is I personally removed the gopher protocol from Internet Explorer that became version 7. 😎
Love these deep dives into technical subjects. Your explanations are so damned good! I recall reading Comer's "Internetworking with TCP/IP Volume One" and being blown away at the brilliance of TCP/IP. Keep up the great videos, sir!
You really appreciate how much work the computer and network is doing when implementing it with RFC 1149. Personally I think that implementation is for the birds but some people have used it.
Excellent video sir; thank you for all the effort, time and dedication that goes into each of the videos you make. Please trust me when I say, there are some of us who truly value and appreciate it.
Where were you in the early 90’s when I was just learning networking and getting my MCSE… oh yeah, you were working on the OS I was learning!!! Great video as always. While this is mostly old school info for an old engineer like myself it is a great refresher and will be very VERY helpful to newbies who want to learn.
It's all new to me... kind of. I've been struggling to understand this stuff for years. I've been a C++ Windows application developer for 28 years, but anything rated to networks does my brain in.
As an IT networking guy I can confirm that this does paint the general picture of what happens when you request a web page; But every element of that process is a seperate rabbit hole of processes, servers, math, and ungodly gallons of caffeine to keep it all running. I can see why you didn’t go down those rabbit holes for this basic overview
back in the day i used to make my own web servers that added background functionality before web 2.0 was a thing. also used this to circumvent cell phone web access limitations.
We too easily take for granted how quickly the overall process happens these days. But in the dial-up days and much slower processors, you could almost witness several of the steps happening in real-time if you knew what to monitor.
At step 10 the browser also creates the Accesibility Object Model, a tree mirroring each element on the page with details like name, role, value. The accessibility tree is created so that accessibility tools interact with it every time when those tools interact with a webpage. Basically the accessibility tools will interact with the accessibility tree, not with the web page directly.
@@DavesGarage I was involved with this in a previous existence: the gov't has legal requirements about maintaining accessibility for both desktop apps as well as web pages. There are some JS libraries that will help, but there's a lot of info that goes into cueing things like JAWS that you're in a table vs. a frame. Unfortunately, a lot of (non-government) sites tend to gloss over the accessibility aspect, leaving accessibility technology users with an unintelligible mish-mash.
Hey Dave, love these full end-to-end discussions. When you were working at Microsoft did you ever have lunch at Crossroads? If so, we probably crossed paths 🙂. More importantly - an idea for a video is for a deep dive on memory management in Windows and how it compares to Apple (and their unified memory architecture).
This goes further than the request, because HTTP request is a separate concept from the browser rendering the HTML (although I guess you could say the concept's are closely tied due to the rendering process usually resulting in a waterfall of additional HTTP requests). Not that I am complaining though! I really liked the video
Happy to see you included the Host file, but did not put to much attention into it. If people are going to play with it and forget, it can generate a lot of t-shooting.
I thought it was to make prank calls more efficiently when not every possible phone number was used. I wonder if younger folks would understand what it means when someone would say in a movie before leaving another character they just met, "I'm in the book." I always wanted the other person to respond, "You're in the Bible?"
“Hi, I’m an appliance repair technician, I’m calling to see if your refrigerator running?”… etc… Or calling a bar “I’m looking for a friend named Amanda… last name Huggenkis…”… life was so simple back in the day… Ah the good ‘ole days of prank calling…
Fantastic! A great follow-up video would be explaining website performance e.g. Google Pagespeed Insights, how DOM complexity, resource sizes e.g. images, largest contentful paint, javascript blocking etc. effect the performance of the website.
Reminds me of when I wrote a dhcp server on a 16bit microcontroller for a project about 15 years ago. All the back and forth of packets. So many nice libraries now.
Excellent video as always. What about a follow-up video as to how data actually gets moved through networks and the internet (mac addresses, subnets, gateways etc)?
I have a static IP address so this is not relevant to me. Yes, I'm being facetious. Love your informative videos Dave and always watch and upvote and comment.
Hi Dave, I notice in your videos that you use a Mac as your primary "PC"? The most recent so-called updates to Windows, XYZ antivirus and Google now suck up 80% of the resources of many Wintel PCs. By the time the CEOs realize how bad it is (they don't seem to use their own products), people will have abandoned the whole getup. Its shocking that YT now needs more than three minutes of non-skippable ads to meet its revenue needs. The most popular browser add-on are all ad blockers - yet the tech CEOs are oblivious. Some ads pay the bills, but too many ads (and poor content) is why so many people cut cable tv. Why does Norton (pick your own antivirus nightmare) need to log my activity? And Google? And Microsoft? Obviously to serve more ads, but that is not why anyone buys a computer, and they shouldn't be sucking up 80% of resources to serve their ads. Any suggestions? if these clueless CEOs keep spewing more and more ads, it won't matter how an HTTP request gets served. They are wrecking the entire web experience
Is that all it does, so why does it take so long? The bit I don't understand is how Dave gets to the end without having to add an ammusing sarcastic smile. Great video presentation Dave.
My problem with HTTP servers is I try to get them to serve me coffee with my cookies, but I keep getting a 418 status code back. Used to happen a lot with Russian web sites. When I finally do find a coffee pot the picture usually shows it is empty (sigh).
Remember that the Internet was design with redundant in mind. All the security was added later and on top and backwards compatible to the existing protocols.
You should do a video on the part between steps 3 and 4, how a packet is routed across the internet from the local machine, to the gateway, to the ISP, across the internet, to the server. I'm more than familiar with networking, and even today I'm convinced it's still IT voodoo.
Well, I do list a book for sale. Before the book, I'd say "I'm just in this for..." but figure since I have that other incentive, I should allow for it!
To this day I don’t know if I cheated: In my computing science degree, I had to write code to make a HTTP 1.0 server. So I found a 1.1 server source code and learned just enough to rip out the 1.1 support. I got a perfect score. Did I learn enough? It was a reliable implementation but I didn’t learn how to write a server.
Thanks for the great explanation Dave. You missed the steps of announcing to Google, Facebook, TikTok and all the other nosy trackers out there what you're doing.
This is a question I’ve had for a long time. What prevents 3rd parties from listening for the SSL setup commands which would allow them to know the encryption (I think)?
Good video, only you you didn’t mention the network socket layer that breaks the data into sized packets. Each packet contains header info about origin, destination, last network component to handle it, how many hops it has taken and time to live, and sequencing info to know how to put the data back together.
Technically... I've read that Microsoft has been caught ignoring certain HOSTS file entries. In particular those related to Windows Update. They seem to have gone full bore into taking away your choice in the matter, with maybe some exceptions in the Enterprise space. I've also noticed it re-enabling disabled update services, replacing deleted wuauserv files, etc. I had to go so far as to write a Windows service to detect it and its files and ... deal with them. You behave like a virus, so I will to.
I just watched an interesting video from Computerphile how difficult it is to end the connection. It turns out it’s the same as the two generals problem, how do you acknowledge that you’ve disconnected?
Another important key in the transporting of all the itty bitty bits, is the network, or I believe they are called telco class routers set along the path that routes each block of data to where they need to go. Juniper, Cisco, Alcatel, Ciena, are a few of the makers of these monster routers. Costs of these beasts can hit a million in no time, and give a hint why the internet is not free. I would love to hear your take on networking.
A Question. Is the Browser communicating directly with the GPU or is the Browser communicating with the GPU via the Operating System? And Dave. You managed to do this in 16 minutes! You packed it in and knocked the explanation out of the park. Thanks very much.
Glad you liked it! I'm not up to speed on the latest browsers, but the image compositing allows them to render elements to different GPU surfaces and then merge them in the GPU, so it seems like the GPU is being used directly.
Hmmm..? Step 8, Sending the HTTP response has always been a mystery to me. A large response is broken up into packets. Depending on the server and number of packets, some may take different routes (hops) than others. How do they all get to the their destination at the proper time or assembled properly before render time?
There is lot of talk about telemetry/spying by Windows, but my impression is that using firewall (like simplewall or Net Peeker or even frontend to Windows Firewall called Windows Firewall Control) basically we can "disable" all of it. Is it correct impression or has Microsoft this "covered" and can establish connections even against firewall rules? Perhaps, you could make a video about Windows Filtering Platform or how "Firewalling" works in Windows. :)
You forgot about the transport network. Like a 5G cellular connection in-between and some fancy caching! You almost made it sound trivial! :) and what about serdes to MAC och into the TCP/ip layers :)
Dave: Any thoughts on NIST SSDF (Secure Software Development Framework)? Many tech folks working for companies that wish to ever do business with the US government or the EU in general moving forwards are now held to pretty extreme security standards. Sounds good on the surface...but that comes with challenges... No security == Optimal Performance. Max security == No product. Somewhere in between is a balance.
I'd like to see a video where you open "inspect elements" in chromium browser, and explain how a complex website such as youtube loads and renders everything.
Each of these steps has a huge number of background operations going on to make it happen. I'm a retired DNS guy, and that process alone could occupy one of Dave's videos.
Computing is a perfect example of the Dunning-Kruger effect. The average person completely under estimates the complexity behind things that have become common.
@@johntoe6127 definitely. I know a guy who is like a 10x dev wizard type dude. His motto is "all I know is that I know nothing". Personally I gave up on being a web dev about a year and a half after I became competent enough to do some cool stuff. The realization that just because you made it work doesn't mean you didn't build it in a way that somebody smarter than you would consider stupid is a tough one to stomach.
@@johntoe6127 The Dunning-Kruger effect has nothing to do with underestimating the complexity but only with over estimating the own knowledge. Those are two very different things. Explaining how DNS roughly works is perfectly fine, even when you don't know every little detail. Telling a lay person that it's essentially a telepone book for the internet is enough to get an idea what it does or what it's there for.
As long as you don't claim you know everything about DNS, there's nothing wrong with only having partial knowledge. I for myself have written my own DNS server from scratch in C# which currently runs on my raspberry pi with mono :P Though I've only implemented what I needed / wanted and it was more a proof-of-concept / learning project. I've read through most of the RFCs. I didn't implement any DNSSEC stuff. Though my server supports both, UDP and TCP requests. It does not act as a resolver for other zones than my own as I only serve my own records. Currently every request and response is written as a hex dump to the console :) Runs stable for over a year non-stop now. So I don't consider myself as a DNS expert, by no means, but I have a fairly good understanding of the basic protocol, even though I don't implement every extension (DoT, DoQ, DoH, TSIG, ...).
Though it's funny to see how many requests come in to check the "bind" version as most would assume that a DNS server is some variant of bind. Berkeley has set quite a few standards over the time.
A lot of people who "work" with DNS don't really understand the fine details of the protocol either. Most work only on the configuration level. DNS has a fascinating "name compression" system for requests as each part of a domain name is split into it's individual labels and when multiple things are requested or returned, the protocol can use back references to labels that already existed. Those can even be recursive. Quite fun to implement a parser and encoder for that. I often miss many concept of the "old days" where they tried to spare every bit without the need to make it overly complicated. Modern day development is more about: "we do have the CPU power, memory and bandwidth, so f-it". The "old" protocols were all designed to be easily parsable by hardware implementations. Most modern stuff is just a mess with tons of overhead.
@@johntoe6127 I like to adapt the Coastline paradox into computing and technology or any other process-related subjects. The more you dig into each component or step, the more questions you'll end up having :D And often you forget some of the old stuff you have learned, so it's impossible for one person to handle/understand everything.
He forgot the step of hurriedly closing the tab when your boss walks over.
Tetris had that feature - a certain keystroke would switch it to Lotus 1-2-3 (DOS mode) if your boss was coming over.
@@michaeltyniec7010 That was the BOSS key, the first one to learn when playing on company computers...
I did the Tetris thing in reverse, I incorporated a sourcecode version of tetris into the system that would start with the Break key, and stop with the Escape key😂
.....or when the tab inexplicably begins blaring music.....
Hey, Dave. As someone who has been teaching this stuff for nearly 30 years, I can say without hesitation that you are excellent at it. I found myself saying out loud, "Dave, you forgot to mention ..." only for you to say it five seconds later. I recommend your channel to my students. On a side note, how about a follow-up video on TCP vs. UDP and, more importantly, QUIC? I'm amazed at how little info there is on QUIC in the traditional educational resources I (must) use. Perhaps more Layer 3 info on how IP works as well.
Yes - maybe another follow up video on how a UA-cam video of Dave gets to you - with distributed network of YT servers and use of QUIC to overcome the round trip time that was a problem video over TCP - especially over 4G and / or satellite - my domain!
QUIC makes the certificate key exchange simpler than TCP, fewer round trips, better suited for streaming
Back before the internet existed, this process was all done manually, I used to hate the three-way handshakes, but I did enjoy the cookies!
Seriously, another great video Dave! Thank you for sharing your experience and knowledge with us!
If you started an “in great detail “ series dave, I don’t think anyone would be mad.
This would be awesome!
I think you'll find I second this motion.
Dave I think a SYN is an empty packet with the SYN flag set.
I am a web tech and manage servers for websites I am glad you went over this. There are so many people who think this is magical and that the internet just works; no it doesn't there is a lot fo work, systems, deamons and configuration files involved. The internet is fascinating and humbling if you understand all the work that goes into making it work and keeping it up.
The protocols doesn't explain how it works at all honestly. Like how the ip address knows where it is in the world and how a device connects to it. Dns to ip ok but what does the ip do
Apache and nginx but no IIS? Oh, the irony is not lost on me!!! LOL. Thanks for the video!
He's just admitting what we all know, IIS sucks.
😂😂
No one cares about windows, not unless paid to care.
I built myself a simple HTTP 1.0 server in C as a little project. Learned so much about how the protocols work, how sockets work, and how to build something according to documentation & specs. One of my favorite projects that I've done for fun.
Any specific library to handle sockets and open tcp port on server side?
@@julianocardarelli5106 @julianocardarelli5106 It was a very, very simple server just using the standard POSIX libraries built into FreeBSD. Nothing external required. I'd share a link to the github, but UA-cam keeps filtering out comments with links
Nothing teaches you how something works until you try to implement it to spec.
@julianocardarelli5106 it was a basic application and just use the libraries found in any POSIX system. I made mine on FreeBSD
TF nerd! nice work tho
Dave ... even more amazing than this incredibly complex series of steps to display a web page, is that you managed to rattle off the entire sequence without skipping a beat. Unbelievable.
These are my favorite types of videos!
You do such a good job and explain a level deeper than so many other channels.
I learn more in these type of vids than years of UA-cam IT osmosis.
Nobody can explain these things better than Dave! I often send these videos to people I know who are struggling with these concepts and they all tell me how much it helped!! WELL DONE DAVE 👍👍👍
It frightens me that I have intimate knowledge of everything you described. Kudos on leaving out the really boring details. One of my minor claims to fame as a former employee is I personally removed the gopher protocol from Internet Explorer that became version 7. 😎
In the olden days, it took decades to earn these things
Love these deep dives into technical subjects. Your explanations are so damned good! I recall reading Comer's "Internetworking with TCP/IP Volume One" and being blown away at the brilliance of TCP/IP. Keep up the great videos, sir!
Awesome explanation Dave! Fascinating to see the details, keep it coming!
You really appreciate how much work the computer and network is doing when implementing it with RFC 1149. Personally I think that implementation is for the birds but some people have used it.
Great explanation Dave! For how complex the process is, I think that you broke it down quite well, to be digestible for the general public.
Excellent video sir; thank you for all the effort, time and dedication that goes into each of the videos you make. Please trust me when I say, there are some of us who truly value and appreciate it.
The best explanation I've seen, thank you. Included correct and appropriately complete detail of the process.
Where were you in the early 90’s when I was just learning networking and getting my MCSE… oh yeah, you were working on the OS I was learning!!! Great video as always. While this is mostly old school info for an old engineer like myself it is a great refresher and will be very VERY helpful to newbies who want to learn.
It's all new to me... kind of. I've been struggling to understand this stuff for years. I've been a C++ Windows application developer for 28 years, but anything rated to networks does my brain in.
As an IT networking guy I can confirm that this does paint the general picture of what happens when you request a web page; But every element of that process is a seperate rabbit hole of processes, servers, math, and ungodly gallons of caffeine to keep it all running. I can see why you didn’t go down those rabbit holes for this basic overview
Excellent presentation. Thank you.
I was asked this question during an interview. Pretty much answered the same way
back in the day i used to make my own web servers that added background functionality before web 2.0 was a thing. also used this to circumvent cell phone web access limitations.
Awesome video yet again Dave ! I was very pleased with part 1.. I cannot wait to see part 2 !!
I would be interested if Mr. Plumer has any sentiments to offer regarding VB Script and ActiveX?
Great content Dave. Missed the Friendly Giant ending though.
Thanks Dave
We too easily take for granted how quickly the overall process happens these days. But in the dial-up days and much slower processors, you could almost witness several of the steps happening in real-time if you knew what to monitor.
And it's amazing that for many websites that are responsive all of this can happen in under 1 second.
At step 10 the browser also creates the Accesibility Object Model, a tree mirroring each element on the page with details like name, role, value. The accessibility tree is created so that accessibility tools interact with it every time when those tools interact with a webpage. Basically the accessibility tools will interact with the accessibility tree, not with the web page directly.
Did not know that, thanks for adding!
@@DavesGarage I was involved with this in a previous existence: the gov't has legal requirements about maintaining accessibility for both desktop apps as well as web pages. There are some JS libraries that will help, but there's a lot of info that goes into cueing things like JAWS that you're in a table vs. a frame. Unfortunately, a lot of (non-government) sites tend to gloss over the accessibility aspect, leaving accessibility technology users with an unintelligible mish-mash.
This is my new favorite series on all of UA-cam, please make more😮❤🎉
Hey Dave, love these full end-to-end discussions. When you were working at Microsoft did you ever have lunch at Crossroads? If so, we probably crossed paths 🙂. More importantly - an idea for a video is for a deep dive on memory management in Windows and how it compares to Apple (and their unified memory architecture).
This goes further than the request, because HTTP request is a separate concept from the browser rendering the HTML (although I guess you could say the concept's are closely tied due to the rendering process usually resulting in a waterfall of additional HTTP requests).
Not that I am complaining though! I really liked the video
GOT IT! Gotta run; my landline is ringing.
Happy to see you included the Host file, but did not put to much attention into it. If people are going to play with it and forget, it can generate a lot of t-shooting.
Well done Dave. Here's a thought. How about covering tags. I have quite a few at the top of my web page.
This is the clearest explanation I've heard so far
People will never know the satisfaction of flipping through a yellowpages and collecting the coupons in the back of it.
I still remember and how they hurt over the top of the head.
I thought it was to make prank calls more efficiently when not every possible phone number was used.
I wonder if younger folks would understand what it means when someone would say in a movie before leaving another character they just met, "I'm in the book." I always wanted the other person to respond, "You're in the Bible?"
“Hi, I’m an appliance repair technician, I’m calling to see if your refrigerator running?”… etc…
Or calling a bar “I’m looking for a friend named Amanda… last name Huggenkis…”… life was so simple back in the day…
Ah the good ‘ole days of prank calling…
Fantastic! A great follow-up video would be explaining website performance e.g. Google Pagespeed Insights, how DOM complexity, resource sizes e.g. images, largest contentful paint, javascript blocking etc. effect the performance of the website.
Great videos Dave! My 16 year old enjoyed the Hello World video and learned quite a bit.
Once again informative and enjoyable. Thank you.
That's the most clear description of HTTP iv seen.
Reminds me of when I wrote a dhcp server on a 16bit microcontroller for a project about 15 years ago. All the back and forth of packets.
So many nice libraries now.
Excellent video as always. What about a follow-up video as to how data actually gets moved through networks and the internet (mac addresses, subnets, gateways etc)?
I have a static IP address so this is not relevant to me. Yes, I'm being facetious. Love your informative videos Dave and always watch and upvote and comment.
I have 5 gigabit fiber that I paid to have installed and they STILL won't give me a single static IP :-(
What difference does a static IP make within the context of this video? I'm clueless 😊
@@DavesGarage RFC1918, brother- make you own! :)
Hi Dave, I notice in your videos that you use a Mac as your primary "PC"? The most recent so-called updates to Windows, XYZ antivirus and Google now suck up 80% of the resources of many Wintel PCs. By the time the CEOs realize how bad it is (they don't seem to use their own products), people will have abandoned the whole getup. Its shocking that YT now needs more than three minutes of non-skippable ads to meet its revenue needs. The most popular browser add-on are all ad blockers - yet the tech CEOs are oblivious. Some ads pay the bills, but too many ads (and poor content) is why so many people cut cable tv. Why does Norton (pick your own antivirus nightmare) need to log my activity? And Google? And Microsoft? Obviously to serve more ads, but that is not why anyone buys a computer, and they shouldn't be sucking up 80% of resources to serve their ads. Any suggestions?
if these clueless CEOs keep spewing more and more ads, it won't matter how an HTTP request gets served. They are wrecking the entire web experience
Wish I'd seen this five years ago. Never made any sense. I'll have to watch this a few times to absorb it.
The single take video style is becoming his signature now. 🙂
Love these videos. You'll have that gold play button in no time!
Is that all it does, so why does it take so long?
The bit I don't understand is how Dave gets to the end without having to add an ammusing sarcastic smile.
Great video presentation Dave.
I teach this subject this winter, wery useful thanks
Great vid Dave, but what about SNI? That usually exposes the hostname of the request before the TLS handshake is complete.
Excatly what I wanted to add. I can't believe Dave doesn't know about it but maybe his mind is already TLS 1.3 only.
Agreed. We need more sites implementing ECH.
Otherwise, does no good to obscure dns with DoH/Q/T/etc.
Dave and I are similar age and done similar things. Its fun to see you tell our story
My problem with HTTP servers is I try to get them to serve me coffee with my cookies, but I keep getting a 418 status code back. Used to happen a lot with Russian web sites.
When I finally do find a coffee pot the picture usually shows it is empty (sigh).
If you're watching this from your browser... this is what happened before it started.
All this in the time it takes for me to have a sip of my morning coffee!
Remember that the Internet was design with redundant in mind. All the security was added later and on top and backwards compatible to the existing protocols.
Very nicely done!
You should do a video on the part between steps 3 and 4, how a packet is routed across the internet from the local machine, to the gateway, to the ISP, across the internet, to the server.
I'm more than familiar with networking, and even today I'm convinced it's still IT voodoo.
am not ready for this , its major
Interesting dave , thank you
Love your content! Always wondered though, when you say " 'mostly' in it for the subs and likes", what's the rest??
Well, I do list a book for sale. Before the book, I'd say "I'm just in this for..." but figure since I have that other incentive, I should allow for it!
Great video! Thanks
To this day I don’t know if I cheated: In my computing science degree, I had to write code to make a HTTP 1.0 server. So I found a 1.1 server source code and learned just enough to rip out the 1.1 support. I got a perfect score. Did I learn enough? It was a reliable implementation but I didn’t learn how to write a server.
Thanks for the great explanation Dave. You missed the steps of announcing to Google, Facebook, TikTok and all the other nosy trackers out there what you're doing.
Oh he did. That info is included as the smirkable "relevant data".
Dave, some of us are old enough to remember both the White pages and the Yellow pages, with both of them being separate books.👴
My city never hit the big time with a separate volume, it was always just the back half of the book!
This is a question I’ve had for a long time. What prevents 3rd parties from listening for the SSL setup commands which would allow them to know the encryption (I think)?
Good video, only you you didn’t mention the network socket layer that breaks the data into sized packets. Each packet contains header info about origin, destination, last network component to handle it, how many hops it has taken and time to live, and sequencing info to know how to put the data back together.
another great video Dave thanks for this video
Thanks Dave.
Man I love these videos. Feel like I’m back at devry w a teacher who actually knows something 😂
Any chance you can cover we assembly?
Technically... I've read that Microsoft has been caught ignoring certain HOSTS file entries. In particular those related to Windows Update. They seem to have gone full bore into taking away your choice in the matter, with maybe some exceptions in the Enterprise space. I've also noticed it re-enabling disabled update services, replacing deleted wuauserv files, etc.
I had to go so far as to write a Windows service to detect it and its files and ... deal with them. You behave like a virus, so I will to.
I just watched an interesting video from Computerphile how difficult it is to end the connection. It turns out it’s the same as the two generals problem, how do you acknowledge that you’ve disconnected?
Another important key in the transporting of all the itty bitty bits, is the network, or I believe they are called telco class routers set along the path that routes each block of data to where they need to go. Juniper, Cisco, Alcatel, Ciena, are a few of the makers of these monster routers. Costs of these beasts can hit a million in no time, and give a hint why the internet is not free. I would love to hear your take on networking.
Thanks Dave. Please do the same with how packets get to and fro, and how windows security works.
Anther great video, Dave!!
And here I was thinking the magic smoke did it all.
Do POST next!
Thanks !
would have loved to see the electric pulses going over the wire to send the packet to the server
Browser address bar is just one big manual GET request with some rendering. Outside of browser features for searches, local resources, or code etc.
You missed ARPing for the local router/host. Layer two gets snubbed again!
When you have 7 layers, the red headed middle child will get overlooked :-)
A Question. Is the Browser communicating directly with the GPU or is the Browser communicating with the GPU via the Operating System?
And Dave. You managed to do this in 16 minutes! You packed it in and knocked the explanation out of the park. Thanks very much.
Glad you liked it! I'm not up to speed on the latest browsers, but the image compositing allows them to render elements to different GPU surfaces and then merge them in the GPU, so it seems like the GPU is being used directly.
Guys, I hope that you appreciate all of the engineering involved for you to view your adult content.
I shouldn't be looking at adult channels as I am a child!
Hmmm..? Step 8, Sending the HTTP response has always been a mystery to me. A large response is broken up into packets. Depending on the server and number of packets, some may take different routes (hops) than others. How do they all get to the their destination at the proper time or assembled properly before render time?
And here I was thinking that the magic smoke did it.
This was soooo good.
Wow. What a memory you have.
I learned a great deal; however, I also noticed that sound was not considered and that scroll bar windowing was omitted.
There is lot of talk about telemetry/spying by Windows, but my impression is that using firewall (like simplewall or Net Peeker or even frontend to Windows Firewall called Windows Firewall Control) basically we can "disable" all of it. Is it correct impression or has Microsoft this "covered" and can establish connections even against firewall rules?
Perhaps, you could make a video about Windows Filtering Platform or how "Firewalling" works in Windows. :)
Hold on, is the video thumbnail cosplay of Munch's Scream?
You forgot about the transport network. Like a 5G cellular connection in-between and some fancy caching! You almost made it sound trivial! :) and what about serdes to MAC och into the TCP/ip layers :)
Gotta cut somewhere for length :-)
@DavesGarage yes, keep it up like this!
You didn't say which version of HTTP you're explaining. The latest versions are now using UDP instead of TCP.
Dave: Any thoughts on NIST SSDF (Secure Software Development Framework)? Many tech folks working for companies that wish to ever do business with the US government or the EU in general moving forwards are now held to pretty extreme security standards. Sounds good on the surface...but that comes with challenges...
No security == Optimal Performance.
Max security == No product.
Somewhere in between is a balance.
8:22 I don't know that I would call advertising services "enrichment".
That's why I did the air quotes :-)
SNI sloves the issue that the server does't know that URL
I used to think WEB processing was a pain in the neck... Now, I have a lower opinion of it.
I'd like to see a video where you open "inspect elements" in chromium browser, and explain how a complex website such as youtube loads and renders everything.
Beautiful video .do a video exclusively on rendering engine
Dave, would you be curious to explore the internals of my web server?