Web Dev Fundamentals
Web Dev Fundamentals Crash Course
Client-Server Model
A client is a thing that talks to servers. A server is a thing that talks to clients. The client-
server model is a thing made up of a bunch of clients and servers talking to one
another. That’s how the Internet works!
Client (FE)
A machine or process that requests data or service from a server. In the case of the
web, browsers are clients that request HTML pages from servers.
Note that a single machine or piece of software can be both a client and a server at the
same time. For instance, a single machine could act as a server for end users and as a
client for a database.
Server (BE)
A machine or process that provides data or server for a client, usually by listening for
incoming network calls.
Client-Server Model
The paradigm by which modern systems are designed, which consists of clients
requesting data or service from servers and servers providing data or service to clients.
E.g.
Web Dev Fundamentals 1
, What happens when you try to visit google.com?
Our computer, or more specifically, our browser is the client. Our browser needs to
display google.com - so it makes a request to the server. Whenever someone makes a
website they need to host that website on some server as they are just computers
connected to the internet (e.g. using a cloud provider such as AWS/etc).
The google.com server has the HTML for it, so it sends it back to the client. The client
(broswer) is going to interpret the HTML and generate a user interface. As you use the
website, the browser may still need continue to communicate with the server for any
requests.
Webpage Request Lifecycle
Domain Name System (DNS)
Web Dev Fundamentals 2
, The process used for translating domain names to IP Addresses.
Always checks local cache first before making a network request. If its not there, then a
DNS request is made to the network.
Usually resolving name server which is your ISP. If it doesnt know the IP address it’s
looking for, then it will look to the root name server. This server holds a mapping of top
level domains such as .io to the IP addresses of top level domain name servers.
For each .IO there is a server which knows how to locate all of the registered domains
in that top level domain.
It will use that information, to make a request to the correct TLD name server.
Authoritative name server will know the IP address and send the IP address back to the
resolving name server back to the computer.
Transmission Control Protocol (TCP)
Web Dev Fundamentals 3