Browsers / Servers / HTTP

URL

Basic web workflow:

Web BrowserWeb Server

Web Server program is launched

  • Program registers with the operating system which port it listens
  • By convention, web servers listen on port 80 for insecure requests (think "old school" HTTP) and port 443 for secure (i.e., HTTPS) requests.
User launches a web browser and requests a web page (say www.gvsu.edu)
Browser asks operating system to create a Socket connected to www.gvsu.edu port 80.
  • To create this socket, the operating system connects to a DNS server to determine which IP address corresponds to www.gvsu.edu (It's 148.61.6.9)
  • (Imagine a kid with a string and a can running across the street to address 148.61.6.9.)
The Operating System on the machine with IP 148.61.6.9 receives the incoming network request for port 80. It knows that the web server is listening on port 80, so it forwards all of that connection's data to the Web Server. (Imagine a kid with a string and a can arriving at the door, asking for "port 80" and the doorman tells him which office to go to.)
The web server creates a Socket and begins to read data from the socket. (The kid arrives in the office and hands the person the can.)
The web browser "asks" the web server for the desired web page.
The web server sends the requested data
The web browser displays the data sent.

HTTP

Web Browser

Web Server

Other HTTP Features

Caching

HTTPS

HTTP2