Related courses
See All CoursesBeginner
CSS Fundamentals
Introduction to CSS (Cascading Style Sheets), which is a styling language used to enhance the look and feel of web pages. We will cover how to deal with fonts, element positioning, colors, and other decorative effects.
Intermediate
Flask Intensive Course: Web Development with Python
You will face 100% hands-on practice and complete the project by the end of the course. This course is perfect for those who have never worked with Flask before. You will acquire the expertise to effectively utilize Flask for your project development needs. You will embark on a journey to create your initial application, mastering the fundamentals, and progressively enhancing your project to unlock its full potential. I will guide you step-by-step during the course.
Beginner
Ultimate HTML
Learn the essentials of HTML (HyperText Markup Language), the foundation of web development. This beginner-friendly course covers tags, attributes, elements, and structuring web pages. Gain practical skills in creating headings, paragraphs, lists, images, links, forms, and tables. Explore best practices, optimization, and web accessibility. Start your web development journey with HTML.
WEB Core Concepts
What is WEB?
The internet is like a bustling city, and every website visit is a journey through its complex streets. From the moment you type a website's address into your browser to the instant the page loads on your screen, a series of interactions and processes occur in the digital realm. These involve various types of servers, operational layers, and technologies working in harmony to bring digital content to your fingertips. Understanding this process not only demystifies how we access information online but also highlights the marvels of modern web technology. So, buckle up as we embark on this fascinating journey through the world of web servers and the magic they perform every time you browse the internet.
Client-Server Architecture
In the context of the web and client-server architecture, "clients" refer to the devices and applications that request services or resources from servers. Let's explore the different types of clients and their primary tasks.
Types of Clients
- Web Clients: Web browsers like Chrome, Firefox, or Safari. They request web pages and other web-based resources from servers;
- Mobile Clients: Apps on smartphones or tablets. Similar to web clients, but specifically designed for mobile platforms. They request data from servers, which is then displayed in a format suitable for mobile devices;
- Desktop Clients: Email clients (like Outlook), FTP clients, or specialized software applications. These clients run on desktop computers and can perform a range of tasks, like sending emails, transferring files, or running complex applications that interact with servers;
- Thin Clients: Simple display terminals or low-power computers. They rely heavily on servers for processing and storage, doing minimal processing themselves;
- Thick (Fat) Clients: Standalone applications like Microsoft Word or Photoshop. They can perform a lot of tasks offline without constantly communicating with a server. They might still connect to servers for specific tasks like updates or cloud storage;
- API Clients: Software that interacts with web APIs (like a weather app fetching data from a weather API). These are typically used by developers and applications to request and receive data from API servers.
Main Tasks of the Client
-
Sending Requests;
-
Maintaining State and Session Management;
-
Receiving Responses;
-
Сonfirm the completion of processing.
Run Code from Your Browser - No Installation Required
What is a Server?
In the context of a user downloading a website, a server is a powerful computer designed to provide data or services to other computers over a network. When you visit a website, the server is responsible for sending the web pages and content to your browser.
Types of Servers:
- Web Server: Hosts websites and delivers web pages to clients (like your browser) upon request, like Apache, Nginx;
- Database Server: Stores and manages data. When you visit a website, any data displayed (like article content or user comments) is typically retrieved from a database server, like MySQL, Microsoft SQL Server;
- Application Server: Runs the web applications and often handles the business logic of the website. It works in conjunction with the web server.
Operational Layers
Logically, three levels of operations can be identified in client-server architecture:
- Data Presentation: responsible for displaying user data and receiving control commands from the user, for example, submitting a form to register a user;
- Application: implements the main logic of the program; this is where the necessary information processing occurs;
- Data Management: ensures data storage in the database and access to it.
Server Architecture
-
Single-Layer Architecture: This is like a small, family-run restaurant where one person is taking orders, cooking, and serving. In web terms, this means the server is doing everything: storing data, running the application, and managing the user interface;
-
Two-Layer Architecture: Think of a bigger restaurant with a waiter and a chef. The waiter takes your order and delivers it, while the chef prepares the meal. In web terms, one server manages the application and user interactions (front-end), and another handles the data (back-end);
-
Three-Layer Architecture: (Most Common) This is like a large, efficient restaurant with a receptionist, waiters, and a kitchen staff. Here's how it translates to web technology:
- Presentation Layer (Front-end): This is what you see on your screen - the design, buttons, and layout. It's like the restaurant's reception and dining area;
- Application Layer (Business Logic, API): Like the waiters, it processes your requests, deciding what you need and communicating with the kitchen;
- Data Layer (Back-end): The kitchen of our restaurant, where your requests are fulfilled (data is processed and stored).
In a three-tier architecture, there are two types of clients:
- Within a thin client, all logic for data usage and management is concentrated on the server. The client application only provides data display for the user;
- Within a thick client, the client processes the information sent by the server using its own resources. For example, mobile applications that can operate without internet access.
Start Learning Coding today and boost your Career Potential
URL Format
A URL (Uniform Resource Locator) is like the address of a location in the digital city. It has several parts:
- Protocol: This is usually HTTP or HTTPS, defining how data is transferred;
- Domain Name: It's like the name of the building or establishment you're visiting;
- Path: If the domain is the building, the path is the specific room or page in that building.
For example, in https://www.codefinity.com/courses
, https
is the protocol, www.codefinity.com
is the domain, and /courses
is the path.
DNS Protocol
The Domain Name System (DNS) is like the city's directory service. When you type a web address, DNS is used to find the right server.
A domain has the structure of a tree:
- Root Domain (denoted by a dot, can be omitted);
- Top-Level (First-Level) Domain:
- Domains for organizations (typically within the USA):
- org - non-commercial organizations;
- com - commercial organizations;
- net, io - organizations associated with computer networks;
- Country domains (us, uk, de);
- Domains for organizations (typically within the USA):
- Second-Level Domains (google, yahoo, ukr, dou);
- Subdomains or addresses of computers in the second-level domain ('www', 'maps', 'store').
Conclusion
Understanding these concepts helps us appreciate how the Web functions, making our digital lives smoother and more connected. It's a complex system, but at its core, it's about asking for and receiving information - just like asking for a meal in a restaurant.
Related courses
See All CoursesBeginner
CSS Fundamentals
Introduction to CSS (Cascading Style Sheets), which is a styling language used to enhance the look and feel of web pages. We will cover how to deal with fonts, element positioning, colors, and other decorative effects.
Intermediate
Flask Intensive Course: Web Development with Python
You will face 100% hands-on practice and complete the project by the end of the course. This course is perfect for those who have never worked with Flask before. You will acquire the expertise to effectively utilize Flask for your project development needs. You will embark on a journey to create your initial application, mastering the fundamentals, and progressively enhancing your project to unlock its full potential. I will guide you step-by-step during the course.
Beginner
Ultimate HTML
Learn the essentials of HTML (HyperText Markup Language), the foundation of web development. This beginner-friendly course covers tags, attributes, elements, and structuring web pages. Gain practical skills in creating headings, paragraphs, lists, images, links, forms, and tables. Explore best practices, optimization, and web accessibility. Start your web development journey with HTML.
The 80 Top Java Interview Questions and Answers
Key Points to Consider When Preparing for an Interview
by Daniil Lypenets
Full Stack Developer
Apr, 2024・30 min read
The SOLID Principles in Software Development
The SOLID Principles Overview
by Anastasiia Tsurkan
Backend Developer
Nov, 2023・8 min read
The 50 Top SQL Interview Questions and Answers
For Junior and Middle Developers
by Oleh Lohvyn
Backend Developer
Apr, 2024・31 min read
Content of this article