How the Internet Works

http:// means something after all

Objectives

Identify the components of a URL

View requests and responses in the browser

Make requests using something other than a browser

Identify the components of a request and response in HyperText Transfer Protocol

The Internet:

How does it work?

But like, for reals how does it work

Home of The Internet:

ARPANET

First implementation of TCP

First implementation of DNS

First computer system secure enough to share classified documents across a network

A Series of Tubes Layers

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Browser         Server 

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Literally cables and wifi

IP

TCP / UDP

Data Link

HTTP

The Server

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Peeling the layers of the onion

  1. Browser sends an HTTP Request

TCP / UDP

When someone says "Packets", think TCP / UDP layer

HTTP: The Layer you Deal With

Requests

Responses

To make an HTTP Request:

Identify a resource via it's uniform resource identifier 

Input the identifier into a client

Direct the client to make a request

URIs

Uniform Resource Identifiers

cURL

Browsers aren't the only thing that can make requests

Postman

URIs

Uniform Resource Identifiers

URLs are URIs

URIs

Uniform Resource Identifiers

URLs are URIs

http://galvanize.com/blog/

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Peeling the layers of the onion

  1. Browser sends an HTTP Request
  2. The HTTP Request gets divided into packets

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Peeling the layers of the onion

  1. Browser sends an HTTP Request
  2. The HTTP Request gets divided into packets
  3. The packets are routed to their destination

IP

TCP / UDP

Data Link (OS-level stuff)

HTTP

The Browser

Peeling the layers of the onion

  1. Browser sends an HTTP Request
  2. The HTTP Request gets divided into packets
  3. The packets are routed to their destination
  4. The packets try to find a good route to their destination, travel across the wire as 1s and 0s

Tries to find a good route?

$ traceroute galvanize.com

Tries to find a good route?

Packets Contain a "TTL" header

Tries to find a good route?

Packets Contain a "TTL" header

TTL : Time to Live

Tries to find a good route?

Packets Contain a "TTL" header

TTL : Time to Live

Really means "don't visit more than x places when you're looking for a way to your destination"