6. 应用层
应用层
1. 模型
1.1 C/S(Client/Server)
客户是服务请求方,服务器是服务提供方
1.2 P2P(Peer to Peer)
每个节点都同时具有下载、上传的功能
2. DNS
域名系统,Domain Name System,C/S模型,UDP协议,53号端口
2.2 域名服务器
- 根域名服务器
- 顶级域名服务器
- 权限域名服务器
- 本地域名服务器
2.3 域名解析过程
构造一个DNS请求报文,以UDP数据报方式发往本地域名服务器;
- 主机向本地域名服务器的查询都采用
递归查询
- 本地域名服务器向其他域名服务器采用
递归查询或迭代查询
3. FTP
文件传输协议,File Transfer Protocol,C/S方式,TCP传输服务,21号控制端口,20号数据端口
3.2.1 控制连接
21号端口。用来传输控制信息(连接请求、传送请求)
3.2.2 数据连接
-
主动模式PORT
客户端连接服务器的21端口,客户端随机一个端口并发送命令,服务器收到PORT命令和端口号后,通过20端口和客户端开的端口进行数据传送。
-
被动模式PASV
客户端发送PASV命令到服务器,服务器随机开一个端口并告诉客户端,客户端连接服务器开放的端口进行数据传输
默认使用主动模式
FTP与网络文件系统(NFS),FTP带外传送,NFS直接修改。
4. E-mail(SMTP、POP3)
组成构件:用户代理、邮件服务器、协议
4.3.1 SMTP
SMTP,Simple Mail Transfer Protocol,简单邮件传输协议。C/S模式,TCP协议,25号端口。发送邮件
- 连接建立。
- 邮件传送。
- 连接释放。
4.3.2 POP3
POP3,Post Office Protocol,邮局协议,C/S模式,TCP协议,110号端口。读取邮件
- 下载并保留
- 下载并删除
IMAP,因特网报文存取协议。允许用户代理只获取报文的某些部分。
实际情况
用户浏览器与邮件服务器之间的邮件发送或接收使用HTTP,在不同邮件服务器之间传送邮件才使用SMTP
MIME,多用途因特网邮件扩展(Multipurpose Internet Mail Extensions)。将邮件中的非ASCII转换成ASCII数据
5. HTTP
1. WWW
万维网的内核部分:
- 统一资源定位符(URL)。一般形式:
协议://主机:端口/路径
- 超文本传输协议(HTTP)
- 超文本标记语言(HTML)
2. HTTP
面向事务(Transaction-oriented);面向文本(Text-Oriented)TCP;80号端口
特点
- 使用TCP,可靠传输。但HTTP本身是无连接的
- 无状态。
- 实际中,利用Cookie+数据库跟踪用户活动
- 非持续连接(HTTP/1.0);持续连接(HTTP/1.1,默认使用持续连接)
报文结构
- 请求报文
- 响应报文
- 开始行:请求行/状态行,最后为CRLF(回车 换行)
- 首部行:
- 实体主体:请求报文一般不用,响应报文也可能不用
GET、HEAD、POST、CONNECT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!