P1.计算机网络的两种体系结构
OSI标准模型(即开放式系统互联)
互联网的通信协议都对应了以下七层中的某一层,通过这一点,可以了解协议在整个网络模型中的作用。一般来说,各个分层的主要作用如下
计算机网络为什么要分层 ?
计算机网络是个非常复杂的系统,分层可以分而治之,讲复杂的问题转化为若干较小的局部问题,而这些较小的问题就易于解决。
结构体系
TCP/IP模型(事实上的国际标准):
网络接口层
网际层:主机一主机,支持无连接的通信。
传输层:应用一应用或进程-进程,主要使用传输控制协议TCP和用户数据报协议UDP,支持无连接和面向连接的通信,堤传可靠的面向连接服务和不可靠的无连接服务。
应用层:用户一用户,包含如虚拟终端协议Telent、文件传输协议PTP、域名解析服务DNS、电子邮件协议SMTP、超文本传输协议HTTP。
P2.HTTP基本概念
操作系统分为:用户态 和 内核态
网络通讯的本质:应用—应用 或 进程—进程 的通讯
HTTP是一个在计算机世界里专门在【两点】之间【传输】文字、图片、视频等【超文本】数据的约定和规范。
P3.HTTP请求响应过程
特征:
1.简单
2.灵活易于拓展
3.应用广泛和跨平台
P4.持久性连接和非持久性连接:
持久性连接:
早期 HTTP/1.0 性能上的一个很大的问题,那就是每发起一个请求,都要新建一次 TCP连接(三次握手),而且是串行请求,做了无谓的 TCP 连接建立和断开,增加了通信开销。
为了解决上述 TCP 连接问题,HTTP/1.1 提出了长连接的通信方式,也叫持久连接。这种方式的好处在于减少了TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。
非持久性连接:
1.每个TCP连接最多允许传输一个对象
2. HTTP 1.0使用的非持久性P
P5.HTTP报文格式
HTTP 协议主要由三大部分组成:
起始行(start line) :描述请求或响应的基本信息;
头部字段(header):使用 key-value 形式更详细地说明报文;
消息正文(entitv):实际传输的数据,它不一定是纯文本,可以是图片、视频等二进制数据。
其中起始行和头部字段并成为 请求头 或者 响应头,统称为 Header; 消息正文也叫做实体,称为 body。
HTTP 协议规定每次发送的报文必须要有 Header,但是可以没有 bodv,也就是说头信息是必须的,实体信息可以没有,而目在
header 和 body 之间必须要有一个空行(CRLF)。