>> Hello everyone, and welcome back to the course.
After a brief introduction in the last video,
we can start our review.
First, we'll review
the web applications architecture and its components.
Let's start with a question.
Check this affirmation.
Web applications are examples
of client-server model applications.
Is this information true or false?
This information is true.
We will discuss
the client-server model during this video.
Let's check the learning objectives of this video.
The learning objectives of this video are to review
the web application architecture
and the client server model.
We will review web application components
like the web server and clients.
To start, let's define what a web application is.
According to Wikipedia, a web app is
a client-server application that runs in a web browser.
The web applications can be
static or dynamic with many features.
One example of a static page is
text basis or just images,
and the dynamic web page contains
a lot of scripts to change the web page.
For example, for two different users,
the web server can send different web pages.
It happens because the scripts identify the user.
Advertising content is a good example.
The same web page can contain
different ads for different users,
that's why we say dynamic.
Social networks and internet banking
are good examples of dynamic pages.
For each user, the social network or
the internet banking page
>> will display different content.
>> Usually, the dynamic content
is controlled by an application server.
You will see later in this video
that the application server
is one of the components of modern web applications.
Some more definitions,
do you know what all these things are?
Internet, a huge network
composed of many other smaller networks.
For example, your cell phone is
inside a smaller network and it
>> connects to the internet.
>> WWW, or the World Wide Web is
a specific portion of the Internet
that hosts websites or web pages.
It's also known as the web.
HTML, the default language
to build web pages and web applications.
Even if you've heard about PHP or .NET,
all those languages use HTML to work.
HTTP, the protocol used to transmit messages by WWW.
It's the protocol that the client
uses to talk with the web server.
Web application architecture uses
the client server model.
It's composed of two components,
the client making requests and
the server answering the requests.
The request uses HTTP protocol.
The process is like this,
we have a web browser that request some information.
It uses the HTTP to request from the web server.
The web server answers the request using HTTP2.
With the diversity of the internet
and the increased number of services offered,
the web application has evolved.
The number of dynamic web pages increased a lot,
though it's not as common
to have multi-layer applications.
The clients talk with the first layer,
the presentation layer that contains the web server.
This web server often talks with an application server.
In addition, to handle the data,
it's going to use a database server
as one of the components.
For example, for a banking application,
the web server will show the web pages.
The application server will run
the processes to calculate
your savings and the database will store your name,
account, and savings amount.
Depending on the web application,
the web server can talk with
the application server and the database server.
Although the client should not
connect to the application or database servers,
all the communication with
the client is handled by the web server.
Now think, how many people
access the same web page at the same time?
Do you think that only one web server
can handle all the requests for information?
By the end of 2018,
we had around 4.3 billion people who access the web.
To answer all of those requests,
the number of servers is high.
To answer all these requests,
a load balanced solution is
used to share the workload on the main servers.
More servers are included on all layers,
that's how it's possible for so many people to
access the same resources at the same time.
Now, let's talk about web clients.
The web server has
the web page and it's
waiting for the request for these pages.
The client requests the page to the web server.
The request sent to the web server is
a web-client job known as a user agent.
Web browsers are the most commonly known.
You use web browsers on your computer,
and on your mobile phone.
Some examples are Microsoft Edge, Mozilla Firefox,
Google Chrome, although other programs can make
the same HTTP requests as the web browsers.
Some examples are ncat,
telnet, curl and wget.
This is easy because HTTP is text based.
You will see learning this course that
a request is some text with comments.
Here are some examples of telnet requests and Firefox.
To clarify, let's explore the telnet command.
On a Linux machine,
we will access the Cybrary page using telnet.
If successful, it will show
that you are connected to Cybrary.
In this moment, the web server is waiting
for the HTTP request to be answered.
If we send to the server an incorrect request,
it will answer with bad request.
Let's see one more example.
Let's try to access the Cybrary web page.
If you use Firefox or another web browser,
you'll get a nice picture with an error.
If you do the same using wget,
you will get the same error but in text format.
The request is the same the answer is the same,
but how the answer is displayed is different.
wget is a common software for Linux systems.
Let's see wget working.
Wget can be considered as a text-based web browser.
First, we will request the Cybrary web page.
You can see here that it worked.
Now, let's request the same web page as the example.
The web server answered,
but you can see the 404 error.
The basic difference between telnet
and wget is that with telnet,
you need to craft all the requests.
Telnet will not send HTTP requests to the web server.
Wget is like a browser,
it will send the request.
After talking about clients and user agents,
the next important web application
component is the web server.
As I said before, the web servers are
responsible for answering the client's requests.
The most common web servers today are Apache,
Ngix, and Microsoft Internet Information Services.
They have some differences,
but they all do the expected job of a web server.
Throughout our course, the differences
will be in the logs.
If we talk about the full configurations of logging,
Apache and Ngix logs look almost the same.
Microsoft IIS has a different log structure though.
We will show this difference in the next videos.
You can get more information about
the web servers on each of the listed websites.
Let's do some questions.
Post-assessment question, complete the sentences.
You can pause the video if you'd like.
The correct sentences,
WWW uses the protocol
HTTP to transmit messages through computer networks.
It uses the client-server model to operate.
Mozilla Firefox, Google Chrome,
and Microsoft Edge are examples of web browsers.
They are programs that
make requests to web servers like Apache,
Ngix and Microsoft IIS.
The second answer is GET
>> is an example of HTTP method and
>> 200 is an example of HTTP status code. Video review.
In this video, we talked about
web application architecture
>> in the client-server model.
>> We also talked about some definitions
of user agents and web servers.
In the next video, we will focus on
HTTP status codes and HTTP methods.
We will also do a brief review of TCP/IP protocols.