应用层
1. 应用协议原理
在给定的一对进程之间的通信会话中,发起通信(即在该会话开始时与其他进程联系)的进程被标示为客户机,在会话开始时等待联系的进程是服务器。
进程通过一个称为套接字的软件接口在网络上发送和接收报文。
可以把套接字比作房子的门。
2. Web应用和HTTP协议
2.1 HTTP
Web的应用层协议是超文本传输协议(HyperText Transfer Protocol, HTTP),它是Web的核心。
HTTP服务器不保存关于客户机的任何信息,所以我们说HTTP是一个无状态协议。
2.1.1 非持久连接和持久连接
非持久连接
每个TCP连接在服务器返回对象后关闭,即该连接并不为其他的对象而持续下来。
持久连接
在持久连接的情况下,服务器在发送响应后保持该TCP连接打开。在相同的客户机与服务器之间的后续请求和响应报文可通过相同的连接进行传送。
2.2.2 HTTP报文格式
HTTP请求报文:
GRT /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr
请求行
首部行
浏览器请求对象somedir/page.html