I have been having trouble finding a good resource (ideally a video) or analogy that helps me to explain how the Internet and the World Wide Web work.
It does not need to be too in-depth. Only enough to cover how web pages are made available to the end user, and how HTTP requests work on the surface. Preferably, something that isn't over 10 minutes long and that the student can understand without prior knowledge of Web Development.
This is for a first lecture at an "Introduction to the Web" course, where students with zero experience in coding are introduced to HTML, CSS, JavaScript, and usability/accessibility topics. Explaining how the Web works in a concise yet effective manner that sticks has been my biggest challenge so far.
Any suggestions?
Update:
For the first lecture, I ended up using a combination of all suggestions. I used Code.org's videos, but they turned to be a bit too lengthy for the attention spans of my students, so in the next opportunity, I will address this a bit differently.
I will not go in depth into how the Internet works and how the data is transferred, but I will use the buses/highways analogy more superficially or even as an add-on explanation instead. I may go into what the DNS is, but that's about it.
In a Front-End Web Development course that only goes as far as using JavaScript with JQuery, potentially touching on a little bit of what is AJAX, the extra details are unnecessary, so rather than focusing on how the Internet works, I can focus on how Web sites work, or more specifically, what happens behind the scenes from the moment you type in "www.google.com" in the web browser, until the web page is rendered and ready to consume.
The most important bit for my students, perhaps, is to be aware that every asset on a page involves a new request, something more that must be downloaded. And that every element in your HTML document must be "translated" and drawn by the browser. Thus, it is all these assets that must be gathered, and the number of elements to draw onto the browser tab or window, that we need to take into account when developing these pages, because the more of them we have, the longer it takes for the browser to load or update the page.