Web software components
main components: clients, servers, proxies
other components: gateways, caches, …
client = user-agent; sends request, processes response
(origin) server = sends requested resources
proxy = acts as a server to client and client to server
cache = holds temporary copies of resources to conserve bandwidth and ensure better response time