• Driving a car
• Shipping containers
It’s all about abstraction
Slide 8
Slide 8 text
Major players
• HTTP
• URI
• Browser
• Web server
• DNS
• Operating system
• Interface
• Network
• Router
!
!
• ... among others
Slide 9
Slide 9 text
OSI Model
• 7 Layers
• We won’t cover
everything
• Really boring
• Required if you want
some bogus certificates
• Actually a useful concept
Slide 10
Slide 10 text
HTTP
The language browsers speak
Slide 11
Slide 11 text
Client server model
• Web page is a document
• User inputs http://example.com
• The client (browser) makes a GET
request
• The server sends a response
• The browser renders the page
Two types of webapp
• Static
• Receive a request
• Find a file on disk
• Respond with
contents of the file
• Dynamic
• Receive a request
• Run application logic
• Return a dynamically
generated response
Slide 24
Slide 24 text
DNS: name resolution
Where do requests go?
Slide 25
Slide 25 text
github.com
207.97.227.239
Slide 26
Slide 26 text
Lookups are cached
for improved performance
Slide 27
Slide 27 text
Possible cache hits
• Local machine
• Home router
• ISP
• Upstream provider
Slide 28
Slide 28 text
No cache - worst case
• 13 Root nameservers
• TLD nameserver
• Authoritative nameserver
• A record
• IP address
Slide 29
Slide 29 text
dig github.com
; <<>> DiG 9.8.3-P1 <<>> github.com
...
github.com.
2
IN
A
207.97.227.239
Slide 30
Slide 30 text
Making a connection
• Resolve name
• Open a connection
• Speak HTTP
Slide 31
Slide 31 text
Network
collection of nodes that can communicate directly
Slide 32
Slide 32 text
Interface
connection from node to communication medium