Jan 31
HTTP
Today we'll discuss how web pages are delivered over the internet.
Telnet session example from command prompt :
# connect to port 80 (web server)
$ telnet cs.marlboro.edu 80
# Do you speak HTTP ?
> GET / HTTP/1.1
> Host: cs.marlboro.edu
# The server answers:
> HTTP/1.1 200 OK
> Date: ...
> Server: ...
# Other (request ... response) pairs
# (all with 2nd line 'Host: cs.marlboro.edu, followed by blank line)
GET foo HTTP/1.1 ... HTTP/1.1 400 Bad Request
GET /foo HTTP/1.1 ... HTTP/1.1 404 Not Found
HEAD / HTTP/1.1 ... HTTP/1.1 200 OK
# To www.marlboro.edu
HEAD / HTTP/1.1 request
Host: marlboro.edu
HTTP/1.1 301 Moved Permanently response
Location: http://www.marlboro.edu/
Mostly: GET and POST
Server software:
Browser software:
Concepts:
- caching
- one web page = many files (.html, .jpg, .css, ...)
- "dynamic" pages
- simple : one static (unchanging) page
- complex : maps.google.com AJAX fancy stuff
Take a few wireshark captures, look at a few Tamper Data screens, from a few different sites.
Also use "view source" to see the raw web page HTML.
recap
- HTML vs HTTP : what are they?
- What does each look like?
- What are they for?
- CSS, JavaScript : how do they fit in?
What is "Tamper Data" doing? Why is it called that?
Assignment for Thursday: try this sort of thing on your own, and discuss.