Lesson 3: Decoding the Internet - A Deep Dive into its Inner Workings
Prefer to listen to this lesson? Click below.
Demystifying the Digital Realm: An Introductory Guide to How the Internet Operates
Hello, budding software engineers!
Today, we will embark on an enlightening journey to understand the foundation of our digital age – the Internet. Much like plumbing in our homes or the circulatory system in our bodies, the Internet is the invisible infrastructure that powers much of our daily lives. Let's dive in and break down this intricate web.
1. A Bird's Eye View of the Internet
At its core, the Internet is a vast network of networks interconnecting computers globally. But how do these computers talk to each other? And how does the information travel? It's like a massive digital postal system, but instead of letters, we send and receive data packets.
2. IP Addresses: The Return Addresses of the Digital World
Every device connected to the Internet, be it your smartphone, laptop, or even some refrigerators nowadays, has an IP (Internet Protocol) address. Please think of this as its home address in the digital world. It's a unique string of numbers separated by periods.
For example: 192.168.1.1
Just as you would need an address to send a letter to your friend, computers use IP addresses to send data to one another.
3. DNS: The Internet's Phone Book
Imagine having to remember the IP addresses of all your favorite websites. Thankfully, we don't have to, and that's where the Domain Name System (DNS) comes into play. When you type "www.247teach.org" into your browser, the DNS translates it into its corresponding IP address. This way, we can use easily recognizable names, while computers can use IP addresses to locate one another.
4. HTTP & HTTPS: Making the Connection Secure
Once our computer knows the right IP address, it reaches out through HTTP (Hypertext Transfer Protocol). This is the set of rules for transferring web content. If you've ever noticed the "https" in a web address, the extra "s" means the connection is secure. It ensures that the data transferred between your browser and the server remains private – an essential feature for activities like online banking.
5. Data Packets: Split, Send, and Reassemble
When you request a webpage, the data isn't sent in one large chunk. It's broken down into smaller packets sent over the Internet, often taking different routes. Once they all arrive at their destination (your computer), they are reassembled in the correct order to present the webpage you see.
6. Routers and ISPs: The Highway System of the Internet
Routers are like traffic directors. They determine the best path for data to travel. Your Internet Service Provider (ISP), companies like Comcast, Verizon, or 24/7 Teach's partner networks, own the infrastructure. These are like the highways of the Internet. They ensure your data packets are routed correctly from the originating server to your computer.
7. Beyond the Basics: Deep and Dark Web
While most of us interact with the surface web (the part of the web indexed by search engines), there exists a vast expanse called the deep web, which is not indexed. This includes things like your personal email account or bank account – things you wouldn't want the public to access. A small, encrypted part of the deep web is the dark web, which is intentionally hidden and requires special software to access.
8. Protocols: The Unsung Heroes
Every action you take online, be it sending an email, watching a video, or even liking a friend's post, is governed by protocols. These are sets of rules determining how data packets move around the Internet.
For instance, sending an email uses the Simple Mail Transfer Protocol (SMTP). Watching a livestream? That's governed by the Real-time Messaging Protocol (RTMP). These protocols are the unsung heroes, ensuring our data gets where it needs to go in the format it should.
9. Servers and Clients: A Digital Tug of War
When you access a website, there's a dynamic play happening between two entities: the client (your computer or device) and the server (where the website data resides). Your computer sends a request (like pulling a book off a shelf), and the server responds by sending the requested data (like handing over the book). This client-server relationship is the cornerstone of accessing and interacting with content online.
10. The Importance of Latency and Bandwidth
These two terms are crucial in understanding internet speed and quality.
Latency refers to the time it takes for data to travel from the source to the destination. It's the reason why sometimes there's a delay in video calls.
Bandwidth, on the other hand, is the amount of data that can be transferred at one time. If latency is the speed of the car, bandwidth is the width of the road. Both are pivotal in ensuring a smooth online experience, especially in activities like gaming or streaming.
11. Cookies and Caching: Enhancing User Experience
Have you ever wondered how websites remember your preferences? Enter cookies - tiny files that store specific user data to enhance the experience. Similarly, caching helps speed up website load times by keeping parts of web pages so they don't have to be reloaded from scratch every time.
It's time to test our understanding and engage in insightful discussions.
Lesson Questions: Please answer each question in your own words.
Project: My First Web Page - Understanding the Basics of the Internet
Objective:
Create a simple web page that displays basic information about the Internet, using the knowledge gained from the "How the Internet Works: A Brief Overview" post.
Requirements:
Content: Your web page should include:
A title: "How the Internet Works"
Brief descriptions of the following topics:
The World Wide Web and Browsers
DNS (Domain Name System)
IP Addresses
Protocols
Servers and Clients
Latency and Bandwidth
Cookies and Caching
Design:
Use at least two different fonts (one for headings and one for content).
Incorporate at least one image that represents the concept of the Internet.
Ensure there's a clear distinction between different sections.
Interactivity (Optional, for those feeling adventurous):
Include a small quiz or questionnaire at the end of the page. Questions can be based on the content of the web page. (For instance: "What does DNS stand for?")
Steps to Get Started:
Tools: As you're just beginning, we recommend using simple online platforms like CodePen or JSFiddle that allow for web development without any setup.
HTML Structure: Begin by setting up the basic structure of your web page with HTML. This will include a header, various sections for each topic, and an optional footer for additional resources or references.
Styling with CSS: Once you have your content structured, use CSS (Cascading Style Sheets) to style your web page. Remember, the objective here is to understand the basics, so focus on primary properties like
font-family
,color
,border
, andbackground-color
.Optional JavaScript: If you're incorporating the quiz, you can use basic JavaScript to check the answers and display a message for correct or incorrect responses.
Review: Once done, review your web page. Make sure everything displays as you'd like and that your content is easily understandable.
Submission:
Once your project is complete, share a link to your CodePen or JSFiddle with your instructor or peers for review.
Evaluation Criteria:
Content accuracy and relevance.
Basic structure and organization of the web page.
Visual appeal and design coherence.
The functionality of any interactive elements (if implemented).
Reflection:
After completing the project, take a moment to reflect on what you've learned. What did you find challenging? What topics intrigue you the most? The world of web development is vast, and this is just the beginning!
Participate in the Group Discussion:
Please answer the discussion question in the comment section below.
Why do you think protocols are essential for the functioning of the internet? Can you imagine an internet without them?