The Web

Oversimplified

By Kostas Minaidis

Dissecting the URL

Understanding: https://domain.com:443/index.html

  • Web Servers & HTTP
  • IP Addresses & DNS
  • Port Addresses
  • Delivering Content

Web Servers & HTTP

Oversimplified

What is a Web Server?

A computer, just like yours*,
holding files and running programs.
A server is always connected to the Internet.
* well, somewhat more powerful than your laptop...

Let's talk!

Server
Hello!
Your Computer
Hi!
Your computer can communicate
with Internet servers, through various protocols*

Internet Protocols!

(Don't be afraid of the term.)

You can think of protocols as a way for computers to speak
with other computers on a network such as the Internet.


...much like people talk to each other in different languages
(english, greek, arabic, etc.).


Your Web browser uses the HTTP protocol to talk to Web servers.

Let's talk HTTP

Web Browsers & Web Servers

https://domain.com:443/index.html

Web Server*
*A Server, holding and serving web pages.
( It can 'talk' HTTP )

 
Your Web Browser*
*Software that fetches and displays web pages.
( It can 'talk' HTTP too )

<--[ GET /index.html ]--
The Web Browser, requests the index.html file
from the Web Server using a simple HTTP command: GET

--[ index.html ]-->
The Web Server, responds by sending the index.html
file to the Web Browser, which in turn renders
and displays the web page to the user.

Let me call you!

IP Addresses & Domain Name Servers

https://domain.com:443/index.html

Computers on the Internet contact each other much like our mobile phones.

Each mobile device is using a unique phone number
which enables it to place and receive calls.
6912345678
"Hello!"
6987654321
"Hi there!"

Instead of telephone numbers, computers use Internet Protocol (IP) Addresses.

196.168.0.10
"Hello!"
196.168.0.23
"Hi there!"
Since it's pretty hard to remember all
those phone numbers, we tend to use Contacts...

Bob

6912345678 Alice === 6987654321

Alice

6987654321 Bob === 6912345678

Bob has a Contact entry named Alice on his phone
that points to the number of Alice.

Whenever he wants to call Alice, he just types Alice
instead of the number.

The same rule applies for Internet Protocol Addresses.
We tend to use Domain Names which point to IP Addresses.

Google Web Server

196.168.0.10

Your Computer

196.168.0.32 www.google.com === 196.168.0.10

Instead of typing an IP address in your Browser's Address bar,
you can just type the Domain Name, e.g. www.google.com

*Google doesn't really need a domain name to call you back,
since you've already contacted it with your IP address.

The translation of IP Addresses to Domain Names is handled by a bunch of special Servers, called Domain Name System Servers or DNS Servers for short. Think of them as the old Telephone Operators.

Network Ports

One Address - Many Services

Whenever we enter an URL on our Browser's address bar in order to reach a specific website, a hidden number is present in the URL right after the domain name, in the following form:

What we type:

www.domain.com www.cnn.com/news

The actual request:

www.domain.com:443 www.cnn.com:443/news

Try it! reach your favorite site by appending a :443 right after its domain name.

But, what exactly is the purpose of such a number?

A Network Port number can be compared with a Call Centre's internal phone numbers.

A unique external telephone number can be used as the first point of entrance into the Call Centre (think of an IP/Domain Name analogy here).

The Internal Numbers (think of Network Ports) can subsequently be used to connect to the many different internal endpoints/services.

Much like a Call Centre, a Server using one unique IP address or Domain Name can provide many different services, each using a unique Network Port.

For example, a Server might serve web pages on Port 80 and also run a Chat Service (like Skype) on a different Port, e.g. 4378

A Server can have a maximum of 65535 Network Port numbers.

RECAP:

  • Whenever we open a new Browser window and enter a URL on the address bar, our computer connects to another computer, we call a Web Server. The two computers can reach each other through their two unique numbers called IP addresses.

  • When we request a web page through a URL, the Web Server responds by sending us an HTML file that our Browser parses and displays on our Browser's window, e.g. a request to www.domain.com/contact.html will result in the HTML file contact.html being downloaded and rendered by our Browser.

  • Since names are more descriptive than numbers, and can be easily memorized, we tend to use Domain Names that correspond to IP addresses, much like our Phones store telephone numbers using Contact names.

RECAP:

  • Special Servers, called DNS Servers are used to translate the IP Addresses to Domain Names.

  • Each Server, can have one unique IP Address and still offer many different Internet services through the use of Network Port Numbers. Different Client Software, such as Web Browsers, Skype, etc., can then use this Network Port numbers to reach these different services.

That's all Folks!