Networking Basics for Web Devs
Tags: cloud
Published: 2021-10-15 13:11:46

## HTTP Fundamentals
The first and the most important thing is HTTP Fundamentals. This is also the first thing you will learn if you follow [Codedamn's full-stack learning path to learn web development](https://codedamn.com/learning-paths/fullstack).
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2g56b31143a3suwxjewr.png)
 
The protocol is the fundamental way computers contact and shares information in the first place. Understanding what protocol means is a must in terms of networking.

## IP Addresses
When you learn HTTP, the next thing you'll come across is IP (Internet Protocol)addresses, which is also covered in the learning path. It's intuitive to understand this term, as it is simply a group of numbers to identify the computer in a network uniquely.

## Port Numbers
The term networking itself means forming many relations. As such, port numbers are also very much related to the IP addresses in the networking aspects of the computer architecture. Port number set up a point of interaction between the client computer and the server you are connected to. You can learn more about port numbers in our [HTTP Fundamentals Course](https://codedamn.com/learn/http-fundamentals/tFht0rFmwW).

## DNS
After the series of outages from the unicorn companies, it's no doubt many of you might have heard the term DNS which stands for Domain Name System. In short, it's the phone book of the internet to access the web pages. It's the client computer that finds the IP address for a given domain name with the help of the DNS. Once you get the overview of what DNS is, you can go through the process of DNS Lookup. It's the process of how your computer gets the IP address and the long path that requests travel to get the IP Address.

You must also be familiar with the different types of records of the DNS. The most common and essential records that you must know are A, CNAME & TXT. Below is the list of the records in the DNS:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/941q1vtnfdeatagpudxg.png)
 

## CLI Related Tools
It's always handy to know command-line tools to access the network rather than taking the help of online websites. Tools like nslookup quickly help us find the different records for the DNS with just one single command, you have to learn the command once, and you can now access them directly from the command line.

The lsof command-line tool, which means list open files, is another handy tool to find out which processes listen to a particular port.

## Virtual Private Cloud
You might have heard of VPN (Virtual Private Network), which is not related to what we are about to discuss, as you may have heard VPN is for privacy so that your ISP and others won't be able to track your internet usage. Virtual Private Cloud may be a little similar to that, but it's for keeping your architecture like Codedamn. We use it for masking our Redis, EC2, and Lambda Functions from the internet so that they are not vulnerable to all the scripts on the internet.

## Subnet and Route Tables
Knowing about subnet and route tables is essential for creating your own Virtual Private Cloud while using a cloud provider like AWS.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pv2ejryji0jt947fv4gb.png) 

You can also learn about Classes on the IP address and the new IPv6 format for taking a deep dive into the networking world.

## Conclusion
There is always so much to learn either in the networking or the development world. New things come. There are so many advancements. As a human being, you can't know everything that exists. Pi shaped learning is essential in any field it may be. So when it comes to networking, learning about IP, ports, and DNS and its records is a good start for you as a beginner. You can also learn about how DNS caching works and debug using CLI tools for the networks that you have made. ‌

‌‌You can watch the YouTube video [here](https://www.youtube.com/watch?v=AQLB3pbSErw).