应用层概述
# 应用层概述
应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。
- 物理层:解决使用何种信号来传输比特的问题。
- 链路层:解决分组在一个网络(或一段链路)上传输的问题。
- 网络层:解决分组在多个网络上传输(路由)的问题。
- 运输层:解决进程之间基于网络通信的问题
应用层
:解决通过应用进程的交互来实现特定网络应用的问题
# 客户/服务器方式和对等方式
开发一种新的网络应用,首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。目前流行的主要有以下两种:
- 客户/服务器(Client/Server,C/S)方式
- 对等(Peer-to-Peer,P2P)方式
# C/S方式
客户和服务器是指通信中所涉及的两个应用进程
客户/服务器方式所描述的是进程之间服务和被服务的关系。
客户是服务请求方,服务器是服务提供方。
服务器总是处于运行状态,并等待客户的服务请求。
# 对等方式
在P2P方式中,没有固定的服务请求者和服务提供者,分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。对等方相互之间直接通信,每个对等方既是服务的请求者,又是服务的提供者。
# 动态主机配置协议
# 域名系统
# 域名系统的作用
由于ip地址比较难以记住,通过DNS来解析域名。
# 域名结构
# 域名解析过程
为了提高DNS的查询效率,并减轻根域名服务器的负荷和减少因特网上的DNS查询报文数量,在域名服务器中广泛地使用了高速缓存。高速缓存用来存放最近查询过的域名以及从何处获得域名映射信息的记录。
# 文件传送协议
# 文件传送协议FTP的作用
FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)。
# 基本工作原理
主动模式
被动模式
# 电子邮件
# 电子邮件的作用
传统的电话通信属于实时通信,存在以下两个缺点:
- 电话通信的主叫和被叫双方必须同时在场;
- 一些不是十分紧迫的电话也常常不必要地打断人们的工作或休息。
电子邮件使用方便、传递迅速而且费用低廉。它不仅可以传送文字信息,而且还可附上声音和图像。
# 电子邮件的组成
电子邮件系统采用客户/服务器方式。
电子邮件系统的三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议。
用户代理是用户与电子邮件系统的接口,又称为电子邮件客户端软件。
邮件服务器是电子邮件系统的基础设施。因特网上所有的因特网服务提供者ISP都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱。
协议包括邮件发送协议(例如SMTP)和邮件读取协议(例如POP3,IMAP)。
# SMTP
# 邮件扩展
SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。
SMTP不能满足传送多媒体邮件(例如带有图片、音频或视频数据)的需要。并且许多其他非英语国家的文字(例如中文、俄文、甚至带有重音符号的法文或德文)也无法用SMTP传送
为解决SMTP传送非ASCII码文本的问题,提出了多用途因特网邮件扩展 (Multipurpose Internet Mail Extensions,MIME)。
- 增加了5个新的邮件首部字段,这些字段提供了有关邮件主体的信息。
- 定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
- 定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
# 常用的邮件读取协议
# 万维网
# 万维网概述
万维网(World Wide Web,WWW)并非某种特殊的计算机网络。它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。
其中浏览器最重要的部分是渲染引擎,也就是浏览器内核。负责对网页内容进行解析和显示。
- 不同的浏览器内核对网页内容的解析也有不同,因此同一网页在不同内核的浏览器里的显示效果可能不同;
- 网页编写者需要在不同内核的浏览器中测试网页显示效果。
# 统一资源定位符
为了方便地访问在世界范围的文档,万维网使用统一资源定位符URL来指明因特网上任何种类“资源”的位置。
URL的一般形式由以下四个部分组成:
# 万维网文档
# 超文本传输协议
HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
# Cookie
用户可以通过万维网进行各种复杂的应用,如网上购物、电子商务等。这些应用往往需要万维网服务器能够识别用户。
Cookie提供了一种机制使得万维网服务器能够“记住”用户,而无需用户主动提供用户标识信息。也就是说,Cookie是一种对无状态的HTTP进行状态化的技术。
# 万维网缓存与代理服务器
Web缓存把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若发现这个请求与暂时存放的请求相同,就返回暂存的响应,而不需要按URL的地址再次去因特网访问该资源。
# 参考
https://github.com/BloothOfYouth/Computer-Network-Notes
https://www.bilibili.com/video/BV1c4411d7jb/