A web page consists of objects, each of which can be stored on different web servers.
- e.g. object can be HTML file, JPEG image, etc.
A web page consists of a base HTML file which includes several referenced objects, each addressable by a URL.
- e.g. www.someschool.edu.someDept/pic.gif
- host name is www.someschool.edu - machine on which object is located
- path name to object: /someDept/pic.gif
HTTP
Hypertext transfer protocol (HTTP) is the web’s application-layer protocol.
HTTP follows client/server model:
- client is generally a browser that requests, receives (using HTTP protocol), and “displays” Web objects
- server is generally a web server which sends (via HTTP protocol) objects in response to requests

HTTP uses TCP for transport service. The lifecycle of an interaction is as follows:
- client initiates TCP connection (socket) to server via port 80
- server accepts TCP connections from client
- HTTP messages (application-layer protocol messages) are exchanged between the browser (HTTP client) and Web server (HTTP server)
- TCP connection is closed
HTTP is stateless ⇒ server maintains no information about past client requests.
- Note: protocols that maintain state are complex (need to maintain past history), hard to deal with crashes due to possible inconsistencies in state that need to be reconciled
There are 2 kinds of HTTP connections: