1
00:00:00,750 --> 00:00:02,678
So let's start this course

2
00:00:02,678 --> 00:00:05,269
with the most important question first,

3
00:00:05,269 --> 00:00:10,269
what exactly is web development and connected to that,

4
00:00:10,530 --> 00:00:12,870
what does this mean for us web developers?

5
00:00:12,870 --> 00:00:15,470
What exactly do web developers do,

6
00:00:15,470 --> 00:00:17,420
and what happens when we,

7
00:00:17,420 --> 00:00:21,450
as a regular user enter an address like amazon.com

8
00:00:21,450 --> 00:00:24,580
in the browser and the Amazon website loads up.

9
00:00:24,580 --> 00:00:26,830
What's happening behind the scenes?

10
00:00:26,830 --> 00:00:29,960
As a web developer or as an aspiring web developer

11
00:00:29,960 --> 00:00:32,830
especially, you must be able to understand this

12
00:00:32,830 --> 00:00:35,570
because this will help you understand which kind of code

13
00:00:35,570 --> 00:00:39,200
you will have to write and how the "thing", the internet,

14
00:00:39,200 --> 00:00:42,210
you're working with actually works.

15
00:00:42,210 --> 00:00:44,900
Now to come back to the first two questions,

16
00:00:44,900 --> 00:00:48,640
what is web development and what do web developers do?

17
00:00:48,640 --> 00:00:52,600
Well there, the answer is indeed pretty straightforward.

18
00:00:52,600 --> 00:00:56,240
Web developers generally build websites.

19
00:00:56,240 --> 00:00:57,800
I'm saying generally,

20
00:00:57,800 --> 00:01:00,410
because as you will learn throughout this course,

21
00:01:00,410 --> 00:01:03,200
there are other kinds of things

22
00:01:03,200 --> 00:01:05,370
web developers can build as well.

23
00:01:05,370 --> 00:01:09,070
And even websites are made up of multiple pieces.

24
00:01:09,070 --> 00:01:10,990
And it's depends on the website

25
00:01:10,990 --> 00:01:14,940
and the complexity of a website, which pieces are involved.

26
00:01:14,940 --> 00:01:17,030
That being said in this course,

27
00:01:17,030 --> 00:01:18,610
you're going to learn all of that.

28
00:01:18,610 --> 00:01:20,420
You're going to learn how to build simple

29
00:01:20,420 --> 00:01:23,610
and more complex websites, how to write code

30
00:01:23,610 --> 00:01:26,330
that's invisible to most users,

31
00:01:26,330 --> 00:01:30,730
as well as how to write code that affects what users see,

32
00:01:30,730 --> 00:01:34,890
and you will learn how to build so-called web services.

33
00:01:34,890 --> 00:01:38,720
And what that is as well, but we'll dive into that later.

34
00:01:38,720 --> 00:01:40,150
So it's all in this course,

35
00:01:40,150 --> 00:01:42,281
but generally as a web developer,

36
00:01:42,281 --> 00:01:46,710
you build websites and therefore this actually leads

37
00:01:46,710 --> 00:01:48,890
to another important question.

38
00:01:48,890 --> 00:01:50,504
What's happening behind the scenes

39
00:01:50,504 --> 00:01:55,504
when a visitor, like you, enters an address like amazon.com

40
00:01:56,200 --> 00:01:59,630
in the browser, how does the web actually work?

41
00:01:59,630 --> 00:02:01,620
What's happening there?

42
00:02:01,620 --> 00:02:03,010
And to understand this,

43
00:02:03,010 --> 00:02:07,010
I want to take a step back and look at a real world analogy

44
00:02:07,010 --> 00:02:10,680
because browsing the web and the visiting a website

45
00:02:10,680 --> 00:02:13,670
is actually like calling a friend you could say,

46
00:02:13,670 --> 00:02:16,180
or sending a text message to a friend.

47
00:02:16,180 --> 00:02:18,840
This is an analogy we can make.

48
00:02:18,840 --> 00:02:20,900
In the effort to understand this,

49
00:02:20,900 --> 00:02:24,900
let's actually take a closer look at this analogy.

50
00:02:24,900 --> 00:02:29,150
When you call a friend, you in the end, pick up the phone,

51
00:02:29,150 --> 00:02:32,880
you dial their number or you send a text message to them.

52
00:02:32,880 --> 00:02:35,130
And once the connection was established,

53
00:02:35,130 --> 00:02:39,030
once they pick up the call, you tell them something,

54
00:02:39,030 --> 00:02:42,420
or you ask something, you greet them, whatever.

55
00:02:42,420 --> 00:02:45,730
You start a conversation with your friend.

56
00:02:45,730 --> 00:02:49,710
And after you greet them and maybe told them something,

57
00:02:49,710 --> 00:02:52,810
or you asked something at some point,

58
00:02:52,810 --> 00:02:56,440
your friend will probably reply to you.

59
00:02:56,440 --> 00:02:59,460
He, or she will say something to you

60
00:02:59,460 --> 00:03:02,900
or send back a another text message.

61
00:03:02,900 --> 00:03:05,370
So that's how we have a conversation on the phone.

62
00:03:05,370 --> 00:03:09,200
We say something, they say something. And so on.

63
00:03:09,200 --> 00:03:12,500
Now, visiting a website is pretty much the same.

64
00:03:12,500 --> 00:03:16,340
There you are sitting on your computer or laptop

65
00:03:16,340 --> 00:03:20,370
using your browser because that's the key entry tool

66
00:03:20,370 --> 00:03:23,550
that we need to visit a website. We need a browser for this,

67
00:03:23,550 --> 00:03:26,170
as you probably know, because you're using it every day.

68
00:03:26,170 --> 00:03:30,905
And in that browser, you enter an address like amazon.com

69
00:03:30,905 --> 00:03:33,270
or maybe you searched for Amazon

70
00:03:33,270 --> 00:03:35,400
and you clicked a search result link,

71
00:03:35,400 --> 00:03:38,483
but either way you end up with an address like this

72
00:03:38,483 --> 00:03:41,510
in the browser address bar.

73
00:03:41,510 --> 00:03:45,000
Now this address thing has actually an official name.

74
00:03:45,000 --> 00:03:45,833
It's called URL,

75
00:03:46,740 --> 00:03:49,620
which stands for a uniform resource locator.

76
00:03:49,620 --> 00:03:51,150
But I'll come back to this later,

77
00:03:51,150 --> 00:03:52,710
you enter an address like this.

78
00:03:52,710 --> 00:03:56,250
And then what happens next is that your browser sends

79
00:03:56,250 --> 00:03:59,495
a so-called request to some remote computer

80
00:03:59,495 --> 00:04:02,455
out there in the internet, out there in the world,

81
00:04:02,455 --> 00:04:07,420
a computer operated by the company that owns the website,

82
00:04:07,420 --> 00:04:09,190
which you're trying to visit.

83
00:04:09,190 --> 00:04:12,290
So in this case, some computer operated by Amazon.

84
00:04:12,290 --> 00:04:14,720
Your browser sends a request to it.

85
00:04:14,720 --> 00:04:18,769
And this process is standardized because in web development,

86
00:04:18,769 --> 00:04:21,283
many things are standardized to ensure

87
00:04:21,283 --> 00:04:23,920
that the different parties that are involved

88
00:04:23,920 --> 00:04:27,120
like the browser and this remote computer do speak

89
00:04:27,120 --> 00:04:29,360
the same kind of language.

90
00:04:29,360 --> 00:04:31,460
The standard thats involved here

91
00:04:31,460 --> 00:04:34,820
for controlling that such a request is sent.

92
00:04:34,820 --> 00:04:38,524
And that this request is structured in a standardized way

93
00:04:38,524 --> 00:04:40,520
is called HTTP,

94
00:04:40,520 --> 00:04:43,665
which stands for hypertext transfer protocol,

95
00:04:43,665 --> 00:04:48,665
or often you'll see HTTPS where the S stands for secure,

96
00:04:48,980 --> 00:04:51,500
which means that the communication is encrypted

97
00:04:51,500 --> 00:04:54,970
between browser and this remote computer.

98
00:04:54,970 --> 00:04:57,030
Now, you don't need to worry too much about this

99
00:04:57,030 --> 00:04:59,700
because that's the standard the browser will use

100
00:04:59,700 --> 00:05:02,257
by default but that's the explanation

101
00:05:02,257 --> 00:05:06,588
why sometimes in some URLs you see something like

102
00:05:06,588 --> 00:05:11,588
HTTP://, or HTTPS:// in front of the address.

103
00:05:14,340 --> 00:05:17,310
It's typically added automatically by the browser,

104
00:05:17,310 --> 00:05:19,450
because that is the default protocol

105
00:05:19,450 --> 00:05:23,153
that is being used for talking to this remote computer.

106
00:05:24,010 --> 00:05:26,000
Now on this remote machine,

107
00:05:26,000 --> 00:05:29,560
we then in the end have the website code that's required

108
00:05:29,560 --> 00:05:31,360
for showing something on the screen.

109
00:05:31,360 --> 00:05:34,700
And this code of course, is written by web developers.

110
00:05:34,700 --> 00:05:38,860
In this example, here, web developers working for Amazon.

111
00:05:38,860 --> 00:05:42,240
Now this website code can be of different complexity,

112
00:05:42,240 --> 00:05:45,646
and there can be more complex steps involved

113
00:05:45,646 --> 00:05:47,820
for producing this code.

114
00:05:47,820 --> 00:05:49,080
But we're going to learn that

115
00:05:49,080 --> 00:05:50,879
throughout the course step-by-step.

116
00:05:50,879 --> 00:05:51,712
In the end,

117
00:05:51,712 --> 00:05:55,191
this code holds a bunch of browser instructions though

118
00:05:55,191 --> 00:05:58,960
that tell the browser what it should display on the screen.

119
00:05:58,960 --> 00:06:00,820
So which content it should show

120
00:06:00,820 --> 00:06:02,830
and how the content should look like,

121
00:06:02,830 --> 00:06:04,460
how it should be styled.

122
00:06:04,460 --> 00:06:06,180
And therefore it's this code,

123
00:06:06,180 --> 00:06:08,680
these browser instructions that's in the end,

124
00:06:08,680 --> 00:06:13,160
sent back by this remote computer in a so-called response

125
00:06:13,160 --> 00:06:16,990
to your browser and the browser then and knows

126
00:06:16,990 --> 00:06:18,840
how to handle these instructions

127
00:06:18,840 --> 00:06:21,440
because these are standardized as well.

128
00:06:21,440 --> 00:06:24,440
The programming languages that can be used for writing

129
00:06:24,440 --> 00:06:26,850
these instructions are standardized

130
00:06:26,850 --> 00:06:30,620
and the browser then will bring something onto the screen.

131
00:06:30,620 --> 00:06:32,550
That's how the web works.

132
00:06:32,550 --> 00:06:36,079
And even though I took some time to describe this process,

133
00:06:36,079 --> 00:06:39,237
this request response cycle,

134
00:06:39,237 --> 00:06:42,760
of course typically only takes a couple of milliseconds.

135
00:06:42,760 --> 00:06:44,810
It's super efficient and fast.

136
00:06:44,810 --> 00:06:49,340
And that's why visiting websites is super fast.

137
00:06:49,340 --> 00:06:50,800
Now on this big picture,

138
00:06:50,800 --> 00:06:53,570
there are two or actually four other terms

139
00:06:53,570 --> 00:06:54,869
that are worth knowing.

140
00:06:54,869 --> 00:06:58,919
We typically call the browser and us using the browser,

141
00:06:58,919 --> 00:07:02,030
the so-called client or front-end.

142
00:07:02,030 --> 00:07:05,920
And we call the remote computer that hosts the website,

143
00:07:05,920 --> 00:07:09,390
so that has this website and sends it back to us.

144
00:07:09,390 --> 00:07:12,710
We call this remote computer, the so-called server,

145
00:07:12,710 --> 00:07:14,670
or the backend, the server,

146
00:07:14,670 --> 00:07:18,810
because this computer serves the website to us,

147
00:07:18,810 --> 00:07:21,630
the client who is requesting the website.

148
00:07:21,630 --> 00:07:24,370
So these are more terms that are worth knowing,

149
00:07:24,370 --> 00:07:27,360
but now this big picture actually takes us

150
00:07:27,360 --> 00:07:29,640
to the next important question.

151
00:07:29,640 --> 00:07:33,140
We need to take a closer look at this response

152
00:07:33,140 --> 00:07:35,010
and these browser instructions,

153
00:07:35,010 --> 00:07:39,410
because that helps us understand which code we need to write

154
00:07:39,410 --> 00:07:41,243
as a web developer, because of course,

155
00:07:41,243 --> 00:07:43,110
that is always important to us,

156
00:07:43,110 --> 00:07:45,150
which kind of code do we need to write

157
00:07:45,150 --> 00:07:48,107
and which programming languages should we use?

