Non-Persistent HTTP
One TCP request per file (vs multiple files per connection). In modern day, we use multiple files per connection, even when reloading a webpage, because this reduces overhead over the short term. This explains why I didn’t see a new SYN, SYN ACK, ACK.
Non persistent takes 2RTT per resource
Persistent takes 1RTT + 1RTT(NUM_RESOURCES)
RTT
Round Trip Time
Pipelining
Sending multiple requests and receiving multiple resources at once. Works over persistent and non-persistent HTTP and requires the base HTML to get started.
HTTP 1.0
GET, POST, and HEAD (testing if server exists)
HTTP 1.1
GET, POST, HEAD, PUT (upload files), DELETE (delete files)
200
OK
301
Moved
400
Bad request
404
Not found
505
Unsupported HTTP version
Parts of working with cookies
Uses of Cookies
Web Caching Proxy
Original request is sent to a closer proxy server instead of the original base server. Checks to see if it has the cache of the object to see if it doesn’t need to access the original. Uncashed requests are forwarded to the original server.
Nodal Delay
Processing, queueing, transmission, and propogation
CDN
Geographically distributed cache
Main shared CDNS are akami and limelight.
Dedicated CDNS are Google and Microsoft as examples
Web Cacheing problems
Stale data - severing an old version
Cache invalidation - marking data as old
Cache coherence - different versions served
Cache warming - initial cache must be started up
Cache eviction - removing unpopular content
Cache DOS - denial of service on a cache server.