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.
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 RUclips 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!
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 👍👍👍
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😂
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.
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
@@subbastionbastion2167 Off the top of my head - Internet Protocol is assigned by a group called IANA. They help manage this because public IP addresses must be unique - unlink private/internal IP addresses. Your ISP is essentially responsible for routing your traffic through different hops (sometimes managed by the ISP, or sometimes when allowed, through other Autonomous Systems). These hops communicate with each other using BGP - an exterior routing protocol that allows for dynamic IP address routing over the internet.
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
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 RUclips IT osmosis.
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 RUclips keeps filtering out comments with links
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.
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. 😎
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.
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.
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.
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).
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.
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.
It's amazing that all this is as reliable as it is. Boggles the mind. Now, imagine having to modify and adapt a mainframe Cobol program to fit into all this structure. No wonder the UPS online billing system is siloed and doesn't coordinate with the tracking system. Dave - thank you for this, it's always important to be reminded what's going on behind the blue door.
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)?
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.
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
5:15 Actually when you type a website's name in your browser, your device sends a DNS request to translate the domain name into an IP address and your ISP often handles these DNS requests, so they can log the domains you're accessing even if you're visiting HTTPS websites
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)?
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
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…
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. :)
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.
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).
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?
proof electricity is as fast or faster the speed of light. think about this.. east coast gets a page from west coast in millisecs.... 6000 miles round trip. millisecs.. thats light speed folks
Speed of light is so so much faster than what you are talking about. Speed of electricity can be (and usually is) a lot slower than SOL and never at or faster. And speed of internet for average human is way slower than that. Speed of electricity at absolute zero on a superconductor... getting much closer.
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 :)
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.
Do you sometimes still volunteer to translate names to IP addresses in your spare time?
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 RUclips 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.
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 👍👍👍
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.....
Your boss lives in your house?!
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.
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
@@subbastionbastion2167 Off the top of my head - Internet Protocol is assigned by a group called IANA. They help manage this because public IP addresses must be unique - unlink private/internal IP addresses. Your ISP is essentially responsible for routing your traffic through different hops (sometimes managed by the ISP, or sometimes when allowed, through other Autonomous Systems). These hops communicate with each other using BGP - an exterior routing protocol that allows for dynamic IP address routing over the internet.
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
I thought he explained things pretty thoroughly - of course, there will always be more details.
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.
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 RUclips IT osmosis.
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 RUclips 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
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.
I will be using this video for my Web Dev class next semester. Thanks Dave!
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.
Subscribed after just 2 minutes of your awesomeness. Thanks for your time and knowledge
Awesome explanation Dave! Fascinating to see the details, keep it coming!
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
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.
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.
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.
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).
Great content Dave. Missed the Friendly Giant ending though.
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 !!
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.
Thanks Dave
Excellent presentation. Thank you.
And it's amazing that for many websites that are responsive all of this can happen in under 1 second.
This is my new favorite series on all of RUclips, please make more😮❤🎉
I was asked this question during an interview. Pretty much answered the same way
It's amazing that all this is as reliable as it is. Boggles the mind. Now, imagine having to modify and adapt a mainframe Cobol program to fit into all this structure. No wonder the UPS online billing system is siloed and doesn't coordinate with the tracking system. Dave - thank you for this, it's always important to be reminded what's going on behind the blue door.
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)?
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
Great videos Dave! My 16 year old enjoyed the Hello World video and learned quite a bit.
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.
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.
GOT IT! Gotta run; my landline is ringing.
so dense of information in one video, incredible
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.
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
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!
Once again informative and enjoyable. Thank you.
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! :)
Thanks dave for such a detailed explanation.
That's the most clear description of HTTP iv seen.
I would be interested if Mr. Plumer has any sentiments to offer regarding VB Script and ActiveX?
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.
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?
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.
Love these videos. You'll have that gold play button in no time!
The single take video style is becoming his signature now. 🙂
am not ready for this , its major
Browser address bar is just one big manual GET request with some rendering. Outside of browser features for searches, local resources, or code etc.
All this in the time it takes for me to have a sip of my morning coffee!
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".
I teach this subject this winter, wery useful thanks
Very nicely done!
Thanks Dave. Please do the same with how packets get to and fro, and how windows security works.
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.
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.
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.
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.
Wish I'd seen this five years ago. Never made any sense. I'll have to watch this a few times to absorb it.
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.
Interesting dave , thank you
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.
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.
Dave and I are similar age and done similar things. Its fun to see you tell our story
5:15 Actually when you type a website's name in your browser, your device sends a DNS request to translate the domain name into an IP address and your ISP often handles these DNS requests, so they can log the domains you're accessing even if you're visiting HTTPS websites
I learned a great deal; however, I also noticed that sound was not considered and that scroll bar windowing was omitted.
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)?
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
Great video! Thanks
If you're watching this from your browser... this is what happened before it started.
another great video Dave thanks for this video
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…
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. :)
Anther great video, Dave!!
Do POST next!
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.
Thanks for the rundown through the whole process! I have an interesting take on this on my channel as well if anyone’s interested.
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).
Thanks Dave.
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?
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!
Ohh, that's what I thought. (line of former coworker, who didn't really think much.)
Thank you!
Before name resolution, proxy detection is performed. In many cases, computers behind a proxy cannot resolve external names.
You've been served!
Wow. What a memory you have.
This was soooo good.
And here I was thinking the magic smoke did it all.
8:22 I don't know that I would call advertising services "enrichment".
That's why I did the air quotes :-)
proof electricity is as fast or faster the speed of light. think about this.. east coast gets a page from west coast in millisecs.... 6000 miles round trip. millisecs.. thats light speed folks
Speed of light is so so much faster than what you are talking about. Speed of electricity can be (and usually is) a lot slower than SOL and never at or faster. And speed of internet for average human is way slower than that.
Speed of electricity at absolute zero on a superconductor... getting much closer.
Are you sure they're connected by electric wires and not fiber optics?
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!
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.