So let's start this course
with the most important question first,
what exactly is web development and connected to that,
what does this mean for us web developers?
What exactly do web developers do,
and what happens when we,
as a regular user enter an address like amazon.com
in the browser and the Amazon website loads up.
What's happening behind the scenes?
As a web developer or as an aspiring web developer
especially, you must be able to understand this
because this will help you understand which kind of code
you will have to write and how the "thing", the internet,
you're working with actually works.
Now to come back to the first two questions,
what is web development and what do web developers do?
Well there, the answer is indeed pretty straightforward.
Web developers generally build websites.
I'm saying generally,
because as you will learn throughout this course,
there are other kinds of things
web developers can build as well.
And even websites are made up of multiple pieces.
And it's depends on the website
and the complexity of a website, which pieces are involved.
That being said in this course,
you're going to learn all of that.
You're going to learn how to build simple
and more complex websites, how to write code
that's invisible to most users,
as well as how to write code that affects what users see,
and you will learn how to build so-called web services.
And what that is as well, but we'll dive into that later.
So it's all in this course,
but generally as a web developer,
you build websites and therefore this actually leads
to another important question.
What's happening behind the scenes
when a visitor, like you, enters an address like amazon.com
in the browser, how does the web actually work?
What's happening there?
And to understand this,
I want to take a step back and look at a real world analogy
because browsing the web and the visiting a website
is actually like calling a friend you could say,
or sending a text message to a friend.
This is an analogy we can make.
In the effort to understand this,
let's actually take a closer look at this analogy.
When you call a friend, you in the end, pick up the phone,
you dial their number or you send a text message to them.
And once the connection was established,
once they pick up the call, you tell them something,
or you ask something, you greet them, whatever.
You start a conversation with your friend.
And after you greet them and maybe told them something,
or you asked something at some point,
your friend will probably reply to you.
He, or she will say something to you
or send back a another text message.
So that's how we have a conversation on the phone.
We say something, they say something. And so on.
Now, visiting a website is pretty much the same.
There you are sitting on your computer or laptop
using your browser because that's the key entry tool
that we need to visit a website. We need a browser for this,
as you probably know, because you're using it every day.
And in that browser, you enter an address like amazon.com
or maybe you searched for Amazon
and you clicked a search result link,
but either way you end up with an address like this
in the browser address bar.
Now this address thing has actually an official name.
It's called URL,
which stands for a uniform resource locator.
But I'll come back to this later,
you enter an address like this.
And then what happens next is that your browser sends
a so-called request to some remote computer
out there in the internet, out there in the world,
a computer operated by the company that owns the website,
which you're trying to visit.
So in this case, some computer operated by Amazon.
Your browser sends a request to it.
And this process is standardized because in web development,
many things are standardized to ensure
that the different parties that are involved
like the browser and this remote computer do speak
the same kind of language.
The standard thats involved here
for controlling that such a request is sent.
And that this request is structured in a standardized way
is called HTTP,
which stands for hypertext transfer protocol,
or often you'll see HTTPS where the S stands for secure,
which means that the communication is encrypted
between browser and this remote computer.
Now, you don't need to worry too much about this
because that's the standard the browser will use
by default but that's the explanation
why sometimes in some URLs you see something like
HTTP://, or HTTPS:// in front of the address.
It's typically added automatically by the browser,
because that is the default protocol
that is being used for talking to this remote computer.
Now on this remote machine,
we then in the end have the website code that's required
for showing something on the screen.
And this code of course, is written by web developers.
In this example, here, web developers working for Amazon.
Now this website code can be of different complexity,
and there can be more complex steps involved
for producing this code.
But we're going to learn that
throughout the course step-by-step.
In the end,
this code holds a bunch of browser instructions though
that tell the browser what it should display on the screen.
So which content it should show
and how the content should look like,
how it should be styled.
And therefore it's this code,
these browser instructions that's in the end,
sent back by this remote computer in a so-called response
to your browser and the browser then and knows
how to handle these instructions
because these are standardized as well.
The programming languages that can be used for writing
these instructions are standardized
and the browser then will bring something onto the screen.
That's how the web works.
And even though I took some time to describe this process,
this request response cycle,
of course typically only takes a couple of milliseconds.
It's super efficient and fast.
And that's why visiting websites is super fast.
Now on this big picture,
there are two or actually four other terms
that are worth knowing.
We typically call the browser and us using the browser,
the so-called client or front-end.
And we call the remote computer that hosts the website,
so that has this website and sends it back to us.
We call this remote computer, the so-called server,
or the backend, the server,
because this computer serves the website to us,
the client who is requesting the website.
So these are more terms that are worth knowing,
but now this big picture actually takes us
to the next important question.
We need to take a closer look at this response
and these browser instructions,
because that helps us understand which code we need to write
as a web developer, because of course,
that is always important to us,
which kind of code do we need to write
and which programming languages should we use?