What does the application layer do?
“Defines message types
What distinguishes a client from a server?
“Client initiates communication; server waits to be contacted”
What is the main property of client-server architecture?
“Server is always on and typically has a static IP address”
What is a disadvantage of client-server?
“Scaling requires adding more servers”
What is the defining property of P2P architecture?
“Peers act as both clients and servers”
Why do P2P systems self-scale?
“New peers add both load and capacity”
Why do P2P systems need peer discovery?
“Peers join/leave dynamically and change IP addresses”
What do open protocols allow?
“Interoperability and multiple independent implementations”
What is a proprietary protocol?
“A protocol controlled by a single organisation (e.g.
What model does HTTP use?
“Client-server model”
What transport protocol does HTTP use?
“TCP”
What ports does HTTP(S) use?
“Port 80 for HTTP and 443 for HTTPS”
What does stateless mean in HTTP?
“Server keeps no session information between requests”
Why is statelessness beneficial?
“Simpler design and recovery if client/server crashes”
What is a URL?
“protocol://hostname/path”
What does https:// mean?
“HTTP carried over TLS”
What are the three parts of an HTTP request line?
“Method, Request Target, HTTP version”
What separates HTTP headers from the body?
“A blank line (CRLF CRLF)”
What are the two major HTTP request methods?
“GET and POST”
What does GET do?
“Sends form data in the request URL”
What does POST do?
“Sends form data in the message body”
What is included in an HTTP response line?
“HTTP version, Status Code, Reason Phrase”