Application Layer Flashcards
Network Application is
Any application running on one host providing communication to the application running on the other host. Helps to manage and monitor network traffic, analyze data
Describe client-server architecture
In client-server architecture, one remote process acts as a client and requests some resources from another application process acting as server
Describe Peer-to-peer architecture
Both remote processes are executed on the same level and exchange data using shared resources
In client-server architecture, server is
Always on host, one or many permanent IP addresses, data centers for scaling
In client-server architecture, client
May Communicate with the server, maybe intermittently connected, have dynamic IP addresses, do not communicate directly with each other
A system can acts as client and server simultaneously? True or False? Why?
If same host? If different host?
True. One process acts as a server, another as a client.
Communicate with each other via interprocess communication. If host different - exchange messages
What are sockets? How are sockets identified? What is the size of identifier?
Process sends and receives messages via the socket. Port numbers to identify the socket. 32-bit
Which of the following is not the TCP services? (Multiple answers):
Reliability, flow control, congestion control, timing, minimum throughput, security, connection-orientedness
Timing, minimum throughput, securoty
Which of the following is not the UDP services? (Multiple answers):
Reliability, flow control, congestion control, timing, throughput guarantee, security, connection setup
ALL
Web page URL contains
Host name, path name
Two features that make HTTP is simple, but powerful because of:
use of TCP, statelessness
How does the TCP used in HTTP?
- client initiates TCP connection (creates socket) to server, port 80
- server accepts TCP connection from client
- HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)
- TCP connection closed
What does stateless means in HTTP
No information about the client’s previous requests
What are the two types of HTTP connections? Describe each of them
Non-persistent HTTP: one object sent over TCP connection
Persistent HTTP: multiple objects sent over a TCP connection
What is RTT? How many RTTs does Non-persistent HTTP have? For what steps are RTTs calculated? What is the non-persistent HTTP response time?
RTT (definition): time for a small packet to travel from client to server and back. One to initiate connection, one RTT for HTTP request and first few bytes of HTTP response. 2RTT + file transmission time
Compare Non-persistent and persistent HTTP in terms of RTTs?
Non-persistent HTTP takes 2 RTTs for a single object, while Persistent needs only one RTT for all referenced objects
What are 2 types of HTTP messages?
Request, Response
What is the content of request message? What each part of the message have?
Single request line and multiple header lines. Request line has method, URL and HTTP Version fields.
Header lines have host, user agent, condition fields
What kind of HTTP methods exist?
GET, POST, HEAD
How does a browser know if browsers wants to use persistent connection?
Include Connection: keep-alive in header
Entity body method is used with what method
POST method to fill out the form and send it to the server
What are the differences between HTTP 1.0 and HTTP 1.1
HTTP 1.1 has PUT and DELETE, to upload and delete file to/in path specified in URL field