Week 3 & 4 - Application Layer Flashcards
What is HTTP?
The Hypertext Transfer Protocol (HTTP) is the foundation of the World Wide Web. HTTP is an application layer protocol designed to transfer information between networked devices and runs on top of other layers of the network protocol stack.
What is in an HTTP request?
An HTTP request is the way Internet communications platforms such as web browsers ask for the information they need to load a website. Each HTTP request made across the Internet carries with it a series of encoded data that carries different types of information. It typically contains: HTTP version type, a URL, an HTTP method, HTTP request headers, optional HTTP body.
What is an HTTP method?
An HTTP method, sometimes referred to as an HTTP verb, indicates the action that the HTTP request expects from the queried server. Most common ones are ‘GET’ and ‘POST’.
What are HTTP request headers?
HTTP headers contain text information stored in key-value, and they are included in every HTTP request. These headers communicate core information, such as what browser the client is using and what data is being requested.
What is in an HTTP request body?
The body of a request is the part that contains the ‘body’ of information the request is transferring. The body of an HTTP request contains any information being submitted to the web server, such as a username and password, or any other data entered into a form.
What is in a HTTP response?
An HTTP response is what web clients (browsers) receive from an Internet server in answer to an HTTP request. It typically contains: an HTTP status code, HTTP response headers, optional HTTP body.
What are the 5 categories of HTTP status codes?
1xx Informational
2xx Success
3xx Redirection
4xx Client Error
5xx Server Error
200 OK, 404 Not Found
What is in an HTTP response body?
Successful HTTP responses to ‘GET’ requests generally have a body which contains the requested information. In most web requests, this is HTML data that a web browser will translate into a webpage.
What is a client-server paradigm?
Server:
Always-on host, has a permanent IP address
Client:
It communicates with server. It may be intermittently connected, may have dynamic IP address, clients do Not communicate directly with each other.
Examples: HTTP, IMAP, FTP
What is a peer-peer architecture?
There is NO always-on server. Arbitrary end systems directly communicate. Has self-scalability (new peers bring new service capacity, as well as new service demands). Peers Are connected and change IP addresses.
Example: P2P file sharing.
What is a process?
Program running within a host. Within the same host, two processes communicate using inter-process communication (defined by OS). They communicate by exchanging messages.
client process: starts communication, server process: waits for contact
What’s a socket?
Process sends/receives messages to/from its socket. Socket is analogous to … the door.
What does process need to have in order to receive messages?
To receive messages, process must have identifier. Identifier includes both IP address and port numbers associated with process on host.
What are the characteristics of TCP services?
reliable transport, flow control (no overwhelming the receiver), congestion control (throttle sender when network is overloaded), connection-oriented (setup required between client and server processes). However, it does Not provide: timing, minimum throughput guarantee, security.
What are the characteristics of UDP services?
unreliable data transfer, and it does provide: reliability, flow control, congestion control, timing, throughput guarantee, security or connection setup.