diff --git a/content/408/《计网》应用层.md b/content/408/《计网》应用层.md
new file mode 100644
index 0000000..96fe5ac
--- /dev/null
+++ b/content/408/《计网》应用层.md
@@ -0,0 +1,263 @@
+---
+title: "《计网》应用层"
+date: 2023-07-27T19:15:08+08:00
+
+---
+
+## 应用层
+
+* 应用层对应用程序的通信提供服务。应用层协议具体应定义为
+ * 应用进程交换的报文类型,如请求报文和响应报文
+ * 各种报文类型的语法,如报文中的各个字段及其详细描述
+ * 字段的语义,即包含在字段中信息的含义
+ * 进程何时发送报文,以及对报文的响应的规则
+
+## 网络应用模型
+
+### 客户/服务器模型
+
+![](../../images/《计网》应用层/客户服务器模型.png)
+
+* 主要特点
+ * 客户是服务请求方,服务器是服务提供方
+ * 服务器特点
+ * 提供永久服务
+ * 服务器IP地址固定不变
+ * 客户端特点
+ * 与服务器通信,使用服务器提供的服务
+ * 间歇性接入网络
+ * 可能使用动态的IP地址
+ * 不与其他客户端直接通信
+* 常见应用
+ * Web
+ * 文件传输协议FTP
+ * 远程登录
+ * 电子邮件
+
+### P2P模型
+
+![](../../images/《计网》应用层/P2P模型.png)
+
+* 主要特点
+ * 显著特点:对等节点之间有直接通信能力
+ * P2P是指在互联网中由对等节点组成的一种覆盖网络
+ * P2P是一种动态的逻辑网络,不是一种物理网络
+ * 不存在永远在线的服务器
+ * 每个主机既可以提供服务,也可以请求服务
+ * 节点间歇性接入网络,并且可能改变IP地址
+ * 自扩展性好,网络健壮性强
+
+## 域名系统DNS
+
+* DNS作用:把域名转换为IP地址
+* DNS采用C/S模型
+* DNS协议运行在UDP上,使用53端口
+
+### DNS组成部分
+
+* 层次域名空间
+ * ![](../../images/《计网》应用层/层次域名空间.png)
+ * 顶级域名
+ * 二级域名
+ * 三级域名
+ * 多个标号组成的完整域名总共不超过255个字符
+* 域名服务器
+ * ![](../../images/《计网》应用层/域名服务器.png)
+ * 种类
+ * 根域名服务器(.)
+ * 顶级域名服务器
+ * 授权/权限域名服务器
+ * 一定能在授权服务器找到对应的IP号
+ * 本地域名服务器
+ * 域名服务器被设计为一种联机的分布式数据库系统,采用C/S模型
+* 域名解析过程
+ * 递归查询
+ * ![](../../images/《计网》应用层/递归查询.png)
+ * 本机向本地域名服务器的查询是递归查询
+ * 递归迭代查询
+ * ![](../../images/《计网》应用层/递归迭代查询.png)
+ * 本地域名服务器向根域名服务器的查询是迭代查询
+ * 流程
+ * 主机m.xyz.com先向其本地域名服务器dns.xyz.com进行递归查询
+ * 本地域名服务器采用迭代查询。它向一个根域名服务器查询
+ * 根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com的IP地址
+ * 本地域名服务器向顶级域名其dns.com进行查询
+ * 顶级域名服务器dns.com告诉本地域名服务器,下一次查询的权限域名服务器的dns.baidu.com的IP地址
+ * 本地域名服务器向权限域名服务器dns.baidu.com进行查询
+ * 权限域名服务器dns.baidu.com告诉本地域名服务器所查询的主机的IP地址
+ * 本地域名服务器dns.xyz.com最后把查询结果告知主机m.xyz.com
+ * 8个步骤共要使用8个UDP用户数据报(使用UDP是为了减少开销)的报文
+ * 本地域名服务器经过三次迭代查询后,从权限域名服务器dns.baidu.com得到了主机www.baidu.com的IP地址
+* 高速缓存(DNS缓存)
+ * 在域名服务器中使用DNS的目的
+ * 为了提高DNS查询效率
+ * 减轻根域名服务器的负荷和减少互联网上的DNS查询报文数量
+ * DNS服务器将在一段时间后丢弃高速缓存中的信息
+
+
+## 文件传输协议FTP
+
+* FTP使用TCP可靠的传输服务
+* FTP必须在整个会话期间保留用户的状态信息
+* 服务器必须追踪用户在远程目录树上的当前位置
+* FTP特点
+ * 提供交互式访问
+ * 运行客户指明文件的类型与格式,运行文件具有存取权限
+ * 适合在异构网络中的任意计算机之间传送文件
+* FTP功能
+ * 提供不同种类主机系统(软硬件都可)之间的文件传输能力
+ * 以用户权限管理的方式提供用户对远程FTP服务器的文件管理能力
+ * 以匿名FTP的方式提供公用文件共享的能力,使用anonymous作为用户名
+* FTP组成
+ * 一个主进程,负责接收新的请求
+ * 若干个从属进程,负责处理单个请求
+* 主进程步骤
+ * 服务端打开21端口,使客户进程能够连接上
+ * 等待客户进程发出连接请求
+ * 启动从属进程处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
+ * 回到等待状态,继续接受其他客户进程发来的请求
+
+### FTP工作时用到的TCP连接
+
+* FTP使用两个独立的连接的好处
+ * 使协议更加简单和容易实现
+ * 在传输文件的时候可以利用控制连接对文件的传输进行控制(如用户可以在文件传输过程中发生请求中止服务)
+
+![](../../images/《计网》应用层/FTP工作时用到的TCP连接.png)
+
+* 控制连接
+ * 作用
+ * 用于将命令从客户传给服务器并传回服务器的应答
+ * 端口
+ * 21端口
+ * 特点
+ * 控制信息都以7位ASCII格式传送
+ * 控制连接在整个会话期间一直保持打开
+ * FTP的控制信息是带外传送的
+* 数据连接
+ * 作用
+ * 用于传输文件
+ * 端口
+ * 20端口
+ * 特点
+ * PORT模式
+ * 主动模式
+ * 传送数据是服务器连接到客户端端口
+ * PASV模式
+ * 被动模式
+ * 传送数据是客户端连接服务器端口
+
+## 电子邮件系统
+
+* 电子邮件系统是一种异步通信方式
+* 基于WWW的电子邮件
+ * 用户浏览器与Gmail的邮件服务器用HTTP发送或接收邮件
+ * 不同邮件服务器之间传送用SMTP
+* 三个组成部分
+ * 用户代理,用户与电子邮件系统的接口,如Outlook,Foxmail
+ * 邮件服务器,用来发送和接收邮件
+ * 邮件发送协议SMTP【类似Push】和读取协议pop3【类似Pull】
+* 发送接收过程
+ * ![](../../images/《计网》应用层/电子邮件发送接收过程.png)
+
+
+### 电子邮件格式
+
+* 电子邮件 = 信封 + 内容
+* 内容 = 首部【RFC822规定】 + 主体【用户自用撰写】
+* 首部的关键字
+ * From:abc@cskaoyan.com【必须要】,由邮件系统自动填入
+ * To:x123@cskaoyan1.com【必须要】,abc是收件人邮箱号,后者是邮箱所在主机的域名
+ * Subject:xxxxxxx【可选】,是邮件的主题
+* 多用途网络邮件扩充(MIME)
+ * 因为SMTP/pop3只能传送一定长度的ASCII码邮件,且无法传送可执行文件及其他二进制对象,所以提出MIME
+ * MIME继续使用SMTP的格式,增加了邮件主题的结构,定义了传送非ASCII码的编码规则
+
+### 发送协议和读取协议
+
+||SMTP|POP3|IMAP|
+|---|---|---|---|
+|定义|一种提供可靠且有效的电子邮件传输协议|一种非常简单但功能有限的邮件读取协议|因特网报文存取协议|
+|特点|使用C/S方式
使用TCP连接
端口号25
只支持传输7比特ASCII码内容|使用C/S方式
使用TCP连接
端口号为110
POP3协议是用明文传输密码的,不对密码加密|为用户提供了联机命令
创建文件夹
在不同文件夹之间移动邮件
在远程文件夹中查询邮件
IMAP服务器维护了会话用户的状态信息
允许用户代理只获取报文的某些部分
适合低带宽|
+|工作过程|连接建立
邮件传送
链接释放|下载并保留
下载并删除||
+
+## 万维网
+
+* WWW是一个分布式,联机式的信息存储空间
+* 组成部分
+ * 统一资源定位符URL
+ * 标志分布在整个互联网上的万维网文档
+ * 超文本传送协议HTTP
+ * 实现WWW上的各种连接的协议
+ * 超文本标记语言HTML
+ * 使不同风格的文档在互联网上的主机显示
+* URL的形式
+ * <协议>://<主机>:<端口>/<路径>
+
+## HTTP协议
+
+* 定义了浏览器向服务器请求web页面的方式,以及服务器向浏览器传送页面的方式
+* HTTP特点
+ * HTTP使用面向连接的TCP作为传输层协议,保证了数据的可靠传输
+ * HTTP协议本身是无连接的
+ * HTTP协议是无状态的
+ * 不需要保存客户的状态信息,可以减少服务器的CPU及内存的消耗
+
+### Cookie
+
+![](../../images/《计网》应用层/Cookie.png)
+
+* Cookie是网站为了辨别用户身份,进行会话跟踪而存储在客户端上的数据
+* Cookie的组成
+ * 在HTTP响应报文中的一个cookie首部行
+ * 在HTTP请求报文中的一个cookie首部行
+ * 在用户端系统中保留一个cookie文件,由用户的浏览器进行管理
+ * 位于web站点的一个后端数据库
+
+### HTTP操作过程
+
+![](../../images/《计网》应用层/HTTP操作过程.jpg)
+
+* 浏览器分析链接指向页面的URL
+* 浏览器向DNS请求解析网址的IP地址
+* 域名系统DNS解析出IP地址
+* 浏览器与该服务器建立TPC链接【默认端口80】
+* 浏览器发送HTTP请求
+* 服务器通过HTTP响应把文件发送给浏览器
+* 释放TCP连接
+* 浏览器解释文件,把web页面显示给用户
+
+### 持久连接和非持久连接
+
+* 非持久连接
+ * ![](../../images/《计网》应用层/非持久连接.png)
+ * 传输时间
+ * 文档传输时间 + 两倍的往返时间RTT
+ * connection状态
+ * 标志为close,说明是非持久连接
+* 持久连接
+ * ![](../../images/《计网》应用层/持久连接.png)
+ * 传输时间
+ * 共经历1个RTT延迟
+ * connection状态
+ * 标志为keep-alive,说明是持久连接
+ * HTTP/1.1的默认方式是持久连接
+
+### HTTP的报文结构
+
+![](../../images/《计网》应用层/HTTP的报文结构.jpg)
+
+* 两类HTTP报文
+ * 请求报文
+ * 响应报文
+* 报文的组成
+ * 开始行【请求报文为请求行】【响应报文为状态行】
+ * 首部行
+ * 实体主体
+* 请求报文采用的方法
+ * GET【请求】
+ * HEAD【读取URL表示的信息的首部,无response】
+ * POST【上传信息】
+ * CONNECT【代理服务器】
+* 实例
+ * ![](../../images/《计网》应用层/HTTP的报文结构实例.jpg)
\ No newline at end of file
diff --git a/static/images/《计网》应用层/Cookie.png b/static/images/《计网》应用层/Cookie.png
new file mode 100644
index 0000000..2e46b42
Binary files /dev/null and b/static/images/《计网》应用层/Cookie.png differ
diff --git a/static/images/《计网》应用层/FTP工作时用到的TCP连接.png b/static/images/《计网》应用层/FTP工作时用到的TCP连接.png
new file mode 100644
index 0000000..fb2b9ce
Binary files /dev/null and b/static/images/《计网》应用层/FTP工作时用到的TCP连接.png differ
diff --git a/static/images/《计网》应用层/HTTP操作过程.jpg b/static/images/《计网》应用层/HTTP操作过程.jpg
new file mode 100644
index 0000000..c8aa104
Binary files /dev/null and b/static/images/《计网》应用层/HTTP操作过程.jpg differ
diff --git a/static/images/《计网》应用层/HTTP的报文结构.jpg b/static/images/《计网》应用层/HTTP的报文结构.jpg
new file mode 100644
index 0000000..6d1a74a
Binary files /dev/null and b/static/images/《计网》应用层/HTTP的报文结构.jpg differ
diff --git a/static/images/《计网》应用层/HTTP的报文结构实例.jpg b/static/images/《计网》应用层/HTTP的报文结构实例.jpg
new file mode 100644
index 0000000..8175510
Binary files /dev/null and b/static/images/《计网》应用层/HTTP的报文结构实例.jpg differ
diff --git a/static/images/《计网》应用层/P2P模型.png b/static/images/《计网》应用层/P2P模型.png
new file mode 100644
index 0000000..a45c03d
Binary files /dev/null and b/static/images/《计网》应用层/P2P模型.png differ
diff --git a/static/images/《计网》应用层/域名服务器.png b/static/images/《计网》应用层/域名服务器.png
new file mode 100644
index 0000000..be0149c
Binary files /dev/null and b/static/images/《计网》应用层/域名服务器.png differ
diff --git a/static/images/《计网》应用层/客户服务器模型.png b/static/images/《计网》应用层/客户服务器模型.png
new file mode 100644
index 0000000..b3df298
Binary files /dev/null and b/static/images/《计网》应用层/客户服务器模型.png differ
diff --git a/static/images/《计网》应用层/层次域名空间.png b/static/images/《计网》应用层/层次域名空间.png
new file mode 100644
index 0000000..30f6c93
Binary files /dev/null and b/static/images/《计网》应用层/层次域名空间.png differ
diff --git a/static/images/《计网》应用层/持久连接.png b/static/images/《计网》应用层/持久连接.png
new file mode 100644
index 0000000..2d91b5e
Binary files /dev/null and b/static/images/《计网》应用层/持久连接.png differ
diff --git a/static/images/《计网》应用层/电子邮件发送接收过程.png b/static/images/《计网》应用层/电子邮件发送接收过程.png
new file mode 100644
index 0000000..85ced2b
Binary files /dev/null and b/static/images/《计网》应用层/电子邮件发送接收过程.png differ
diff --git a/static/images/《计网》应用层/递归查询.png b/static/images/《计网》应用层/递归查询.png
new file mode 100644
index 0000000..fba6d77
Binary files /dev/null and b/static/images/《计网》应用层/递归查询.png differ
diff --git a/static/images/《计网》应用层/递归迭代查询.png b/static/images/《计网》应用层/递归迭代查询.png
new file mode 100644
index 0000000..896c3db
Binary files /dev/null and b/static/images/《计网》应用层/递归迭代查询.png differ
diff --git a/static/images/《计网》应用层/非持久连接.png b/static/images/《计网》应用层/非持久连接.png
new file mode 100644
index 0000000..ac5c73e
Binary files /dev/null and b/static/images/《计网》应用层/非持久连接.png differ