Back to: Python and Django Full Stack Web Developer
What is the Web?
In this article, I am going to discuss What is Web and How the Web Works. Please read our previous article where we discussed How to Download and Install ATOM. As part of this article, we will learn about the following things.
- How does Web Work?
- What do you mean by “Full-Stack”
- Why we are using Django
- A Brief Overview.
Before we can begin to learn about all the technologies in this course, we need to understand how the web works and what constitutes the “Full-Stack”.
How does the Web Work?
So, what happens when you are at home and you open your browser and visit a website? Let us break down the basic steps. You start off by typing the URL into your browser. For Example, facebook.com google.com, etc. Then your computer sends this request as a packet which includes the IP (Internet Protocol) address of the website you want. It sends this request through wires or a satellite which eventually links to wires using your ISP (Internet Service Provider).
So, if you are at home your request will be sent through either copper wires or optic fiber wires to the server. Your ISP will re-route the request to the appropriate server location, using the IP address as the guide. Once your request reaches the server, it can send back the website you asked for. However, a full website with content is too big to send as a single packet of data. And the way to solve this, the server sends back the website split up into many packets the packets come with instructions on how to get back to you and reassemble once they reach you.
The packets do not care how they get to you, just the final location. So, all these packets take a different path to actually get to your computer or back to your cell phone where the browser you are using is. But they really care about the fastest way to get to your destination. Once the packets reach you, they are reassembled to show the page. All of this moves at close to the speed of light, so it happens very fast. This is a higher-level explanation, but for our purposes, it is all we need to know for now.
Let us continue by discussing what the term “Full-Stack” means.
What is Full-Stack?
There are two main components of a website.
- The Front-End
- The Back-End
The Front-End is what you see as a user on the website. The Back-End is the technology used to actually decide what to show you on the Front-End
Let us take an example of facebook.com what you see the colors on the login page and the login page comes under Front-End. The Back-End is the user coming in what pictures what content and comments retrieving from the Database and then shown to you on Front-End.
So, let us talk more about the front end. The Front-End revolves around three technologies:
You will hear about Front-End technologies such as jQuery and Bootstrap, but those are all built using the previous three
- HTML – Hypertext Markup language: Every website will have HTML; it is the structure of the page. You can view it by right-clicking and selecting “View Page Source”
- CSS – Cascading Style Sheets: CSS is the actual styling of the website. Colors, fonts, borders, etc are all defined by CSS. CSS is not mandatory, but almost all sites have it.
However, the Back-End is where a multitude of options come up. The Back-End of a site has three components:
- The Language
- The Framework
- The Database
Technologies such as PHP, Node.js, Ruby/Rails, Java, Python, etc. are all viable options for a website. So how do we decide which to choose? Our course Back-End uses:
- Python as the language
- Django as the Framework
- SQLite as the Database
Python is a great language to learn, it is simple, powerful, and has many libraries. Django is the most popular framework for python, it is fast, secure, and scalable. SQLite comes with Django and Python making it an easy choice. As we continue along with the course, we will be discussing each of these topics in much more detail, but for now, you should have a high-level view of what we use in this course to turn you into a Full-Stack web Developer with Django!
Note: The meaning of Full-Stack is the combination of the Front-End with Back-End technologies to create a website all the way from Scratch.
In the next article, I am going to discuss What is Web and how the Web Works. Here, in this article, I try to explain What is Web and how the Web Works. I hope you enjoy this What is Web and how does the Web Works article.