Chapter 2 Application Layer
Q: What is socket ?
A: A process sends messages into, and receives messages from, the network through a software interface called a socket.
Q: Please explain the socket.
A: A process is analogous to a house and its socket is analogous to its door. When a process wants to send a message to another process on another host, it shoves the message out its door(socket). This sending process assumes that there is a transportation infrastructure on the other side of its door that will transport the message to the door of the destination process. Once the message arrives at the destination host, the message passes through the receiving process's door (socket), and the receiving process then acts on the message.
A socket is the interface between the application process and the transport-layer protocol. The application at the sending side pushes messages through the socket. At the other side of the socket, the transport-layer protocol has the responsibility of getting the messages to the socket of the receiving process.
Q: How to choose the accurate transport-layer protocols ?
A: The situation is similar to choosing either train or airplane transport for travel between two cities. You have to choose one or the other, and each transportation mode offers different services. (For example, the train offers downtown pickup and drop-off, whereas the plane offers shorter travel time.)
What are the services that a transport-layer protocol can offer to applications invoking it? We can broadly classify the possible services along four dimensions: reliable data transfer, throughout, timing, and security.
Q: 公有IP 和 私有IP分别是什么?
A:
Q: What is socket?
A: A socket is the interface between the application process and the transport-layer protocol.
Q: What is the distinguish between network applications and application-layer protocols ?
A: An application-layer protocol is only one piece of a network application (albeit, a very important piece of the application from our point of view!).
Q: What is round-trip time(RTT) ?
A: It is the time it takes for a small packet to travel from client to serve and then back to the client.
Q: 在一次HTTP请求中,整个过程会花费掉多少RTT?
A:两个RTT,一次HTTP的请求会包含三次握手协议,三次握手协议第三次从客户端到服务器的确认协议中会夹杂着请求协议(request),最后服务器返回客户端需要的数据,一共是两个RTT周期。
Q:No-persistent的缺点有哪些?
A:第一,对于每个request object,都必须建立和维持一个连接(connection)。对于每个连接(connection),都必须分配TCP buffers和TCP变量,这给Web服务器带来了巨大的负担。
Q:常见的应用层协议和对应的下一层(传输层)协议有哪些?
A:
Q:What is POST method?
A:
Q:What is HEAD method?
A:The HEAD method is similar to the GET method. When a server receives a request with the HEAD method, it responds with and HTTP message but it leaves out the requested object. Application developers often use the HEAD method for debuting.