Internet 101

Joseph Reagle

Internet

How the Internet works

I’m using clips from Jessica McKellar’s How the Internet works

Summary

Protocol

DNS

IP

TCP

HTTP

Conclude

Redux

Web

URL Syntax

  http://example.com:8042/over/there?name=ferret#nose
  \_/   \__________/\___/\_________/ \_________/ \__/
   |       |          |       |          |        |
scheme  authority    port    path      query   fragment

HTTP Client request

You type:

http://www.example.com/Index.Html

Your browser sends:

GET /Index.Html HTTP/1.1
Host: www.example.com

HTTP Server response

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
ETag: "3f80f-1b6-3e1cb03b"
Content-Type: text/html; charset=UTF-8
Content-Length: 131
Accept-Ranges: bytes
Connection: close

<html>
<head>
  <title>An Example Page</title>
</head>
<body>
  Hello World, this is a very simple HTML document.
</body>
</html>

HTML

<html>
<head>
  <title>An Example Page</title>
</head>
<body>
  Hello World, this is a very simple HTML document.
</body>
</html>

Internet Metaphor

Cookies

Request

GET /index.html HTTP/1.1
Host: www.example.org
...

The server won’t know who you are.

Next request

GET /spec.html HTTP/1.1
Host: www.example.org
Cookie: theme=light; sessionToken=abc123
...

The server will know your previously set preferences.

Security

Caesar cipher

One-time pad

Public key encryption

Private key signature

Certificates

How do you it’s really Bob’s (public) key?

SSL

Security recap

Threats

Malware

worm (autonomous); virus (dependent); Trojan (non-self-replicating); bots (remote controlled)

Protect yourself

Conclusion

Summary

Ask Dr. Reagle!

FAQ

Review

Protocol match

a. DNS 1. location of Web resource
b. IP 2. reliably deliver data
c. TCP 3. addressing and routing
d. HTTP 4. marked up Webpage content
e. HTML 5. requesting Web resource
f. URL 6. name to IP mapping

Security

What are the three important components of web security?

  1. confidentiality: cipher + secret/key
  2. exchanging secret: public key
  3. authenticate public key: certificate