Week 3 & 4 - Application Layer Flashcards

1
Q

What is HTTP?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is in an HTTP request?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an HTTP method?

A

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’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are HTTP request headers?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is in an HTTP request body?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is in a HTTP response?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the 5 categories of HTTP status codes?

A

1xx Informational
2xx Success
3xx Redirection
4xx Client Error
5xx Server Error

200 OK, 404 Not Found

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is in an HTTP response body?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a client-server paradigm?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a peer-peer architecture?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a process?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What’s a socket?

A

Process sends/receives messages to/from its socket. Socket is analogous to … the door.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does process need to have in order to receive messages?

A

To receive messages, process must have identifier. Identifier includes both IP address and port numbers associated with process on host.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the characteristics of TCP services?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are the characteristics of UDP services?

A

unreliable data transfer, and it does provide: reliability, flow control, congestion control, timing, throughput guarantee, security or connection setup.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

HTTP Overview?

A
  • web’s application - layer protocol
  • client/server model (client - browser that requests and receives and displays objects, server - sends objects)
  • HTTP uses TCP, client initiaties TCP connection, server accepts it, then HTTP messages are exchanged between browser (HTTP client) and Web server (HTTP server).
  • HTTP is stateless (meaning server maintains no information about past client requests)
17
Q

What are 2 HTTP connections?

A

Non-persistent HTTP and persistent HTTP.
Non-Persistent HTTP can send at most one object over TCP connection, while Persistent HTTP can send multiple objects over single TCP connection between client and the server.

Non-persistent HTTP: 2RTT + file transmission time.

18
Q

What is RTT?

A

RTT (definition): time for a small
packet to travel from client to
server and back

HTTP response time (per object):
▪ one RTT to initiate TCP connection
▪ one RTT for HTTP request and first few
bytes of HTTP response to return
▪ obect/file transmission time