《计算机网络》笔记——第六章 应用层
第6章 应用层
域名系统DNS
DNS(Domain Name System)
是互联网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址.
DNS是一个联机分布式数据库系统,采用客户服务器方式.
域名结构
任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字,即域名(domain name).
每一个域名都由标号(label)序列组成.
- 每一个标号不超过63个字符
- 不区分大小写字母
- 由多个标号组成的完整域名总共不超过255个字符.
顶级域名TLD(Top Level Domain)分为三大类:
- 国家顶级域名nTLD: cn(中国),us(美国)
- 通用顶级域名gTLD: com,net,org,edu,gov...
- 基础结构域名(infrastructure domain): 只有一个,即arpa,用于反向域名解析,又称为反向域名.
域名服务器
一个服务器所管辖的范围叫作区(zone).
每一个区设置相应的权限域名服务器(authoritative name server).
根据域名服务器所起的作用,可以把域名服务器划分为四类:
- 根域名服务器(root name server): 知道所有的顶级域名服务器的域名和IP地址.
- 顶级域名服务器: 负责管理在该顶级域名服务器注册的所有二级域名.
- 权限域名服务器: 负责一个区的域名服务器.
- 本地域名服务器(local name server): 也称为默认域名服务器
上图展示了本地域名服务器的两种查询方式.
为了提高DNS查询效率.常在域名服务器中使用高速缓存.
文件传送协议
文件传送协议FTP(File Transfer Protocol)
FTP的基本工作原理
FTP使用客户服务器方式.
服务器进程由两大部分组成:
- 一个主进程,负责接收新的请求.
- 若干个从属进程,负责处理单个请求.
简单文件传送协议TFTP
T means Trivial.
- 使用UDP数据报
- 只支持文件传输而不支持交互
- 每次传送的数据报文中有512字节的数据,但最后一次可不足512字节.
- 数据报文按序编号,从1开始.
- 支持ASCII码或二进制传送.
工作类似于停止等待协议.
远程终端协议TELNET
网络虚拟终端NVT(Network Virtual Terminal).
使用NVT适应客户端和服务器端数据和命令的差异.
万维网WWW
WWW(World Wide Web).
万维网是一个大规模的、联机式的信息储藏所。
统一资源定位符URL
URL(Uniform Resource Locator).
<协议>://<主机>:<端口>/<路径>
现在知道网址是怎么回事了吧.
原来每个www.xxxxx.com后面都是一台主机,这其实是他的域名,即ip地址的名字.
超文本传送协议HTTP
- HTTP协议本身是无连接的.
- HTTP协议是无状态的(stateless).
复习:第三次报文可以携带数据,也可以不携带,如果不携带数据则不消耗序号.
上图为HTTP/1.0的请求方式.
- 非持续连接,每请求一个文档就要有两倍RTT的开销.
而HTTP/1.1协议使用持续连接.
- 非流水线方式: 收到前一个响应后才能发出下一个请求.
- 流水线方式: 客户连续发送请求报文,所以除去传输文档的时间,访问所有的对象只需一个RTT时间.
代理服务器
HTTP的报文结构
分类:
- 请求报文
- 响应报文
HTTP是面向文本的(text-oriented).每个字段内都是ASCII码.
- 开始行: 区分是请求报文还是响应报文.请求报文的开始行叫请求行,响应报文的开始行叫状态行.
- 首部行: 用来说明浏览器、服务器或报文主体的一些信息。
- 实体主体(entity body): 在请求报文中一般不用这个字段,响应报文中也可能没有这个字段.
请求行:
- 方法: 对所请求的对象进行的操作.
-
请求资源的URL
-
HTTP的版本
每一个请求报文发出后,都能收到一个响应报文.
状态行:
-
HTTP的版本
-
状态码
三位数字
-
1xx: 通知信息,如请求收到了或正在进行处理.
-
2xx: 表示成功.
-
3xx: 表示重定向
-
4xx: 表示客户的差错
-
5xx: 表示服务器的差错
比如202 Accepted,400 Bad Request,404 Not Found.
-
-
解释状态码的短语
在服务器上存放用户的信息
服务器常使用Cookie来存放用户信息.
工作过程:
- 用户访问使用Cookie的网站,服务器为该用户生成一个识别码,以此为索引在后端数据库产生一个项目,项目中可以存放用户的各种信息.
- 服务器发回的HTTP响应报文中增加一个首部行:
Set-cookie: xxxxxxxxxxx
. - 收到响应报文后,浏览器在Cookie文件中添加一行: 服务器主机名和识别码.
- 下一次访问此网站时,HTTP请求报文中添加一行:
Cookie: xxxxxxxxxxx
.这样服务器就可以在后端数据库中查找用户的数据了.
万维网的文档
超文本标记语言HTML
HTML(HyperText Markup Language).
通用网关接口CGI(Common Gateway Interface).
CGI是一种标准,它定义了动态文档应如何创建.
在万维网服务器中新增加的应用程序叫作CGI程序.
CGI程序的正式名字是CGI脚本(script).
活动文档:
万维网的信息检索系统
全文检索搜索引擎:
谷歌、必应、百度等.
分类目录搜索引擎:
新浪、搜狐、网易等.
不采集网站信息,而是将它们分类.
Google的核心技术PageRank,计算网页重要性和搜索相关性,决定搜索结果的排序.
博客和微博
weblog,简称blog.
社交网站
SNS(Social Networking Site).
电子邮件
电子邮件(e-mail).
电子邮件系统应具有三个主要组成构件:用户代理、邮件服务器以及邮件发送协议(如SMTP)和邮件读取协议(如POP3和IMAP).
用户代理UA(User Agent),其实就是电子邮件客户端软件.
简单邮件传送协议SMTP
邮件读取协议POP3和IMAP
通用互联网邮件扩充MIME
quoted-printable编码:
主要用于少量非ASCII编码信息,比如汉字.
把非ASCII码转换为两两一组的十六进制数字,在每组前加一个=
.然后再转换为ASCII码.
比如=CF=B5=CD=B3
代表11001111 10110101 11001101 10110011
.
开销为200%.
base64编码:
主要用于二进制文件.
如果数据大小不是3字节的整数倍,那么缺一个字节在结尾补一个=
.
开销为25%.
动态主机配置协议DHCP
协议软件在使用前都需要进行协议配置.
指定IP地址、子网掩码、默认路由器的IP地址、域名服务器的IP地址等.
动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种自动进行协议配置的方法.
简单网络管理协议SNMP
SNMP(Simple Network Management Protocol)
网络管理的一个基本原理:
若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种"添加"对原有对象的影响必须尽量小些.
SNMP的网络管理由三部分组成:
-
SNMP本身
定义了管理站和代理之间所交换的分组格式.
-
管理信息结构SMI(Structure of Management Information)
定义了命名对象和定义对象类型的通用规则,以及把对象和对象的值进行编码的规则.
-
管理信息库MIB(Management Information Base)
在被管理的实体中创建了命名对象,并规定了其类型.
管理信息结构SMI
对象命名树:
T(Tag)、L(Lenth)、V(Value).
管理信息库MIB
管理信息就是指在互联网的网管框架中被管对象的集合.
SNMP的协议数据单元和报文
应用程序跨越网络的通信
P2P应用
感觉没啥用.
本文作者:yuzujr
本文链接:https://www.cnblogs.com/yuzujr/p/18701520
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南