【计算机网络-自顶向下方法】应用层(SMTP、POP3、DNS)

news2024/11/27 1:29:53

目录

      • 1. Electronic Mail
        • 电子邮件应用画像
        • 1.1 电子邮件系统
        • 1.2 邮件报文格式
        • 1.3 邮件访问
      • 2. DNS(Domain Name System)
        • 2.1 DNS提供的服务
        • 2.2 DNS工作机理
        • 2.3 DNS资源记录
        • 2.4 DNS协议,报文
        • 2.5 小结

1. Electronic Mail

电子邮件应用画像
  • 应用层传输对象:邮件
  • 网络应用架构:客户-服务器架构
  • 使用传输服务:TCP
  • 应用层协议:
    • 邮件传输协议:SMTP(端口号25)
    • 邮件访问协议:POP3(端口号110),IMAP(端口号143),HTTP(端口号80)
  • SMTP、POP3、IMAP采用命令/响应交互
1.1 电子邮件系统

最初由三个部分组成:

  • 用户代理
  • 邮件服务器
  • 简单邮件传输协议

用户代理

  • 编辑、阅读、回复邮件等。
  • 将要外发的邮件发送到用户的邮件服务器。
  • 从用户邮箱中取邮件。
  • 一些用户代理:Outlook, elm, Mozilla, Thunderbird

邮件服务器

  • 用户信箱:存放到来的邮件。
  • 发送报文队列:存放要发送出去的邮件。
  • 报文传输代理MTA:运行在服务器后台的系统守护进程,负责在邮件服务器之间传输邮件,即将收到的邮件放入用户信箱。

电子信箱

  • 电子信箱:
    • 由计算机上的一个存储区域(如磁盘上的一个文件)组成。
    • 每个信箱均被分配了唯一的电子邮件地址。
  • 电子邮件地址:
    • 由两个部分组成,形如:mailbox@computer。
    • 前者为标识用户信箱的字符串,后者为信箱所在的邮件服务器的名字。

简单邮件传输协议–SMTP [RFC 2821]

  • 邮件服务器之间传输邮件采用客户-服务器模式:
    • 客户: 发送邮件的邮件服务器(报文传输代理)
    • 服务器: 接收邮件的邮件服务器(报文传输代理)
  • SMTP使用TCP协议,服务器端口为25
  • 发送方和接收方的邮件服务器之间直接传输邮件
  • SMTP采用命令/响应交互方式:
    • 命令: ASCII文本
    • 响应: 状态码和短语
  • 报文只能包含简单ASCII文本,即7位ASCII码(最初仅为英文电子邮件而设计)

邮件发送示例Scenario: Alice sends message to Bob

  1. Alice使用用户代理编辑邮件,发送给bob@someschool.edu
  2. Alice的用户代理将报文发送给其邮件服务器(使用SMTP)。
  3. 邮件被置于邮件服务器的发送报文队列中。
  4. Alice的邮件服务器与Bob的邮件服务器建立TCP连接,然后发送 Alice的邮件。
  5. Bob的邮件服务器将邮件放置在Bob的信箱中。
  6. Bob调用他的用户代理阅读邮件。
    在这里插入图片描述

Q:为什么不是直接从 User Agent 直接发送到 User Agent 呢?
A:User Agent这样的终端程序并不是实时在线的,若Bob的Mail Server暂时出现了问题,Alice的 Mail Server会在一段时间内不断尝试发送,尝试多次后才宣布发布失败。User Agent 并不是一直在线的无法向 Mail Server 一样重复这样的过程。

邮件传送具体实现

  假设Alice的邮件已经从代理服务器传输到了邮件服务器上,Alice的邮件服务器试图将邮件传送到Bob的邮件服务器上。

  1. 实现连接与握手
    • MTA客户与MTA服务器在端口25建立TCP连接。
    • 服务器发送服务就绪报文。
    • 客户发送HELO报文,用域名标识自己。
    • 服务器响应。
      在这里插入图片描述
    • 若正常则回复 250 OK,不正常回复 421 Service not Available
  2. 发送邮件内容

可能出现的错误:
451:处理出错
452:存储空间不足

  1. 结束传输
  • 客户发送QUIT命令
  • 服务器响应
  • 释放TCP连接
    在这里插入图片描述

几个要点:

  • SMTP使用持久连接:
    • 可以在一条TCP连接上传输多个报文(FTP只传输一个文件,HTTP可传输一个或多个对象)
    • 一个方向的报文传输结束后,可以在另一个方向上传输报文(SMTP特有的)
  • SMTP 服务器使用 “.” 表示报文结束(FTP使用关闭连接表示文件结束,HTTP使用长度域表示报文结束)。
  • SMTP要求报文(报头和实体)只包含简单ASCII文本(HTTP无此要求)。
1.2 邮件报文格式

在这里插入图片描述
如何传输包含非ASCII文本的报文?

  • 现在的电子邮件要求能传输其它语系的文字,甚至非文本信息(如图片)。
    • 非ASCII文本形式的数据,在发送前须转换成简单ASCII文本。
  • 非ASCII文本的报文大多具有特殊的数据类型,需要特殊的邮件浏览器(如JPEG图形的解压缩软件)来阅读。
    • 需扩展报文的数据类型。

Base64编码

Base64用来将一个二进制字节序列,转换成由ASCII字符序列构成的文本。

每24比特数据划分成4个6比特的单元,每个单元编码成一个ASCII字符,其对应关系为:

  • 0~25编码成’A’~’Z’
  • 26~51编码成‘a’~‘z’
  • 52~61编码成‘0’~‘9’
  • 62和63分别编码成‘+’和‘/’
  • 若最后一组只有8比特或16比特,分别加上‘==’和 ‘=’ 后缀
  • 回车和换行忽略,可以插在任何地方
    在这里插入图片描述

quoted-printable编码

适用于绝大部分都是ASCII字符的报文实体,其编码方法是:

  • 每个ASCII字符保持不变
  • 对于非ASCII字符(大于127的字符),将该字符的十六进制表示用两个ASCII字符标记,前面冠以特殊字符“=”。
    在这里插入图片描述

多用途因特网邮件扩展协议MIME

  扩展了RFC 822,允许实体具有不同的数据类型,并规定了非ASCII文本信息在传输时的统一编码形式。

扩充了一些首部行,最重要的是:

  • Content-Transfer-Encoding:实体采用的传输编码形式。
  • Content-Type:实体的数据类型及子类型。
    在这里插入图片描述
1.3 邮件访问

邮件访问方式:

  • 早期:用户登陆到邮件服务器上,直接在服务器上运行一个邮件阅读程序来阅读邮件。
  • 今天:用户在终端上安装用户代理,获取和阅读邮件。

Q:能将用户信箱放在本地终端吗?
A:不能,用户终端不可能一直连在因特网上

Q:用户代理能用SMTP从邮件服务器获取邮件吗?
A:不能,SMTP是一个“推”协议,只能将邮件从用户代理推送到其邮件服务器,或从发送方邮件服务器推送到 收件人邮件服务器。

解决方案:设计一个新的协议从服务器获取邮件。

邮件的两阶段交付
在这里插入图片描述

  • 在具有永久因特网连接的计算机上运行一个SMTP服务器,为用户分配一个永久信箱。
  • 第一阶段:邮件被投递到收信人的永久信箱。
  • 第二阶段:用户从永久信箱中获取邮件。
  • 为此,带永久信箱的计算机必须运行两个服务器程序:
    • SMTP服务器:收发用户邮件,将收到的邮件放入用户信箱
    • 邮件访问服务器:允许用户从信箱中提取邮件

邮件访问协议
可以从服务器获取邮件的协议有:

  • POP: Post Office Protocol [RFC 1939]
    • authorization (agent <—>server) and download
  • IMAP: Internet Mail Access Protocol [RFC 1730]
    • more features (more complex)
    • manipulation of stored msgs on server
  • HTTP: gmail, Hotmail, Yahoo! Mail, etc.

POP3协议的两个阶段

1. 认证和授权阶段

  • 客户命令:
    • user: declare username
    • pass: password
  • 服务器响应
    • +OK
    • -ERR

S: +OK POP3 server ready
C: user bob
S: +OK
C: pass hungry
S: +OK user successfully logged on

2. 事务阶段

  • 客户命令:
  • list: list message numbers
  • retr: retrieve message by number
  • dele: delete
  • quit

C: list
S: 1 498
S: 2 912
S: .
C: retr 1
S: <message 1 contents>
S: .
C: dele 1
C: retr 2
S: <message 2 contents>
S: .
C: dele 2
C: quit
S: +OK POP3 server signing off

基于web的邮件访问:HTTP

  • 用户代理为普通浏览器:
    • 发送邮件:浏览器使用 HTTP协议 将邮件发送到邮件服务器。
    • 获取邮件:浏览器使用 HTTP协议 从信箱取邮件。
    • 传输邮件:邮件服务器之间仍使用 SMTP协议 传输报文。
  • 和IMAP一样,用户可以在远程服务器上用文件夹来组织他们的邮件。
  • 下图展示了邮件传输的两种方式:
    在这里插入图片描述
    • 红色线代表为像Outlook这样的代理服务器的邮件传输方式。
    • 蓝色线代表为基于web代理服务器的邮件传输方式。

现代因特网电子邮件系统的组成

  • 用户代理
  • 邮件服务器
  • 简单邮件传输协议SMTP
  • 邮件访问协议(POP3,IMAP,HTTP)

小结

  • 电子邮件系统:
    • 4个组成部分。
  • SMTP协议:
    • 使用TCP协议,服务器端口号25。
    • “推”协议:将邮件推向用户信箱。
    • 命令/响应交互方式。
    • 信体只能包含简单ASCII文本。
  • MIME协议:
    • 允许信体包含非ASCII文本。
    • 规定传输编码类型,扩展数据类型。
  • 两阶段交付过程:
    • 邮件投递:邮件从发信方投递到用户信箱。
    • 邮件访问:收信人从用户信箱获(拉)取邮件。

理解HTTP、FTP、SMTP设计上的不同

  • HTTP、FTP、SMTP均是在TCP连接上传输文件,但是在设计上有一些不同
  • 使用持久连接或非持久连接:HTTP可在一条TCP连接上传输多个对象,SMTP可以传输多个邮件,FTP只传输一个文件。
  • 文件传输结束的标记:HTTP使用长度指示报文结束,FTP使用关闭连接表示文件结束,SMTP 使用 “.” 表示报文结束。
  • 文件内容的要求:SMTP要求邮件只包含简单ASCII文本,FTP和HTTP无此要求。
  • 客户-服务器交互方式:HTTP采用报文交互,SMTP和FTP采用命令/响应交互。

2. DNS(Domain Name System)

因特网的目录服务DNS:将主机名映射到IP地址。

DNS实现为一个应用层服务:

  • 由其它网络应用使用的服务
  • 客户-服务器模式
  • 传输服务:主要使用UDP,有时使用TCP
  • 端口号53
  • 请求/响应报文交互
2.1 DNS提供的服务
  • 主机名-IP地址转换
  • 主机别名:
    • 允许主机除了规范名外,具有一个或多个别名(易于记忆),如www.ustc.edu.cn
    • 提供主机别名到规范名的映射。
    • 迁移服务不需要修改主机名。
  • 邮件服务器别名:
    • 允许使用域名作为邮件服务器的别名,如:xxx@ustc.edu.cn
  • 负载分配:
    • 允许一个规范主机名对应一组IP地址。
    • 将服务请求在一群相同功能的服务器之间分配。
2.2 DNS工作机理

将主机名转换成IP地址:
在这里插入图片描述

  1. 应用程序(如浏览器)调用一个本地例程(解析器),主机名作为参数之一传递。
  2. 解析器向网络中的DNS服务器发送查询报文,包含要查询的主机名。
  3. 解析器收到包含IP地址的响应报文。
  4. 解析器将IP地址返回给调用者(如浏览器)。

对应用程序而言,DNS是一个提供直接转换服务的黑盒子。

DNS是一个分布式数据库

Q: 为什么不使用集中式的DNS?

  • 单点失效
  • 流量集中:单个DNS服务器需处理全部查询
  • 响应时间长:远距离的集中式数据库
  • 需要维护庞大的数据库

分布式环境中的名字空间

如何在分布式环境下避免出现名字冲突?

DNS使用名字空间来规范对主机的命名:

  • 名字空间是因特网主机名字的集合,它同时给出了命名主机的方法。
  • 概念上,因特网被划分成200多个顶级域,每个顶级域可继续划分子域,依次类推。
  • 主机名字采用分层的命名方法。

在这里插入图片描述
域名

域(domain):名字树中,以任何一个节点为根的子树构成一个域。
标记(label):树上每一个节点都有一个标记(最多63个字符),树根的标记是一个空字符串。
域名(domain name):某个域的名字表示为:从该域开始向上直到树根的标记序列,标记之间用句点隔开(类似国外邮政地址的写法)。

域名的任一后缀也是一个域,同一个机构内的主机具有相同的域名后缀。
每个节点只需保证其孩子节点的标记不重名。

顶级域

  顶级域分为组织域、国家域和反向域三种。

  • 组织域
      由美国国内及一些国际组织使用。
    在这里插入图片描述
  • 国家域
      使用二字符的国家代码,每个国家对应一个。
    在这里插入图片描述
  • 反向域

顶级域名为arpa,用来将一个IP地址映射为注册的域名,反向域名解析是为了溯源。

DNS提供了一个反向解析域in-addr.arpa:

  • 欲解析的IP地址表示成像域名一样的一个串,例如,IP地址132.34.45.121表示为 121.45.34.132.in-addr.arpa。
  • 以这个字符串作为参数调用解析器

电信运营商使用自己的DNS服务器提供相关IP地址的反向解析服务。

域名服务器的组织层次
在这里插入图片描述

客户想知道www.amazon.com的IP地址:

  • DNS客户查询根服务器,得到com域的DNS服务器地址。
  • DNS客户查询com域的DNS服务器,得到amazon.com域的DNS服务器地址。
  • DNS客户查询amazon.com域的DNS服务器,得到www.amazon.com的IP地址。

顶级域服务器,权威服务器

  • 顶级域 (Top Level Domain, TLD) 服务器:
    • 每个TLD服务器负责一个顶级域。
    • 知道其所有二级子域的域名服务器的地址。
  • 权威DNS服务器:
    • 机构的DNS服务器,提供机构内部服务器的名字映射。
    • 提供一个主域名服务器、一个或多个辅助域名服务器。
    • 可由机构维护,也可委托ISP维护。

本地DNS服务器

  • 严格来说,本地DNS服务器不属于DNS服务器的层次结构。
  • 每个ISP都有一台本地DNS服务器,也称“默认的DNS服务器”。
  • 解析器的DNS查询报文实际上发送给本地DNS服务器。
  • 本地DNS服务器起着代理的作用,负责将DNS查询报文发送到DNS层次结构中,并将查找结果返回给解析器。

域名解析的例子

Q:cis.poly.edu上的一台主机想知道gaia.cs.umass.edu的IP地址

物理服务器的层次

  一个物理服务器保存的信息可能涉及域名空间的若干层,它也可以把它的域划分成若干子域,把其中的一些子域委托给其它服务器。

  实际的物理服务器的层次与域名空间的逻辑层次不同。
在这里插入图片描述

DNS缓存

  • 每当收到一个响应报文,DNS服务器将报文中的映射信息缓存在本地(每一层的DNS都有缓存)。
  • DNS服务器首先使用缓存中的信息响应查询请求。
  • DNS缓存中的映射在一定时间后被丢弃
  • 特别地,本地DNS服务器通常会缓存TLD服务器的IP地址,因而很少去访问根服务器
2.3 DNS资源记录

DNS更准确的说法: 存储资源记录(RR)的分布式数据库。
在这里插入图片描述

  • Type=A(Address)
    • Name:主机名
    • Value:IP地址
  • Type=NS(Name Server)
    • Name:域 (e.g. foo.com)
    • value:该域的权威DNS服务器的主机名
  • Type=CNAME(Canonical Name)
    • Name:别名
    • Value:规范名
  • Type=MX
    • Name:域(e.g. foo.com)
    • Value:该域的邮件服务器名字

DNS数据库内容示例
在这里插入图片描述

2.4 DNS协议,报文

DNS协议: 定义了查询和响应两种报文,查询和响应使用相同的报文格式。
在这里插入图片描述
在这里插入图片描述
DNS报文的封装

  • DNS主要使用UDP,有时使用TCP,服务器的熟知端口都是53:
    • 当响应报文的长度小于512字节时,使用UDP
    • 当响应报文的长度超过512字节时,使用TCP
    • 当解析器事先不知道响应报文的长度时,先使用UDP;若响应报文的长度超过512字节,服务器截断这个报文,置DNS报文首部的TC标志为1;解析程序打开TCP连接,并重复这个请求,以便得到完整的响应。
  • 为什么DNS响应报文的长度小于512字节时,使用UDP,响应报文的长度超过512字节时,使用TCP?
    • 这是因为UDP没有数据分段的能力,一旦发送的报文长度过长,就需要切割成几个报文段来传送。这就有可能导致信息被分成多个报文段发送丢失,造成严重的数据损失。而TCP传输数据时,可以对数据进行分段和重组,保证数据的完整性,因此更适合传输大型的DNS响应报文。另外,DNS使用TCP的情况也不仅限于响应报文超过512字节,还包括查询应答中的TCP标识位被置位、端口53被占用等情况。

往DNS中插入资源记录

  • example: new startup “Network Utopia”。
  • 向DNS注册机构注册域名“networkutopia.com”
    • 提供权威DNS服务器(主域名服务器,辅助域名服务器)的名字和IP地址。
    • 对每个权威域名服务器,注册机构往 com TLD 服务器中插。
      入两条资源记录,例如:(networkutopia.com, dns1.networkutopia.com, NS)(dns1.networkutopia.com, 212.212.212.1, A)
  • 建立权威DNS服务器,特别是:
    • 建立www.networkuptopia.com的Type A记录。
    • 建立networkutopia.com的Type MX记录,以及相应邮件服务器的A记录。
2.5 小结
  • DNS
    • 提供了一种按层次结构命名主机的方法
    • 实现了一个由DNS服务器构成的分布式数据库
    • 提供了查询域名数据库的应用层协议
  • 域名服务器的类型和层次(逻辑层次,物理层次)
  • DNS服务的调用方法:
    • 向本地DNS代理的一个RPC调用
    • 递归+迭代的查询方式
  • DNS协议:
    • 主要使用UDP,也可以使用TCP,端口号均为53
    • 报文请求/响应交互
  • DNS缓存

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1070495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统备考学习 day7 (2.3.4 ~ 2.3.5)

操作系统备考学习 day7 第二章 进程与线程2.3 同步与互斥2.3.4 信号量 用信号量实现进程互斥、同步、前驱关系信号量机制实现进程互斥信号量机制实现进程同步信号量机制实现前驱关系 2.3.5 经典同步问题生产者-消费者问题多生产者和多消费者模型抽烟者问题读者-写者问题哲学家进…

挑选一款优秀的Web端项目管理软件

Web端的项目管理软件哪个好用&#xff1f;Zoho Projects是一款本土化成熟的国外项目管理软件。选择Zoho Projects最重要的原因除了项目管理工具的基本能力和高级能力它都基本具备、操作上更符合习惯之外&#xff0c;还值得一提的是拥有很多自定义配置的能力&#xff0c;满足我们…

FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

目录 1、前言免责声明 2、我目前已有的SDI编解码方案3、设计思路框架核模块解析设计框图IT6802解码芯片配置及采集ADV7611解码芯片配置及采集silicon9011解码芯片配置及采集纯verilog的HDMI 解码模块RGB888转YUV422SPMTE编码SDI模式图像缓存SPMTE SDIGTXGV8500 4、vivado工程1-…

CLIP与DINOv2的图像相似度对比

在计算机视觉领域有两个主要的自监督模型:CLIP和DINOv2。CLIP彻底改变了图像理解并且成为图片和文字之间的桥梁&#xff0c;而DINOv2带来了一种新的自监督学习方法。 在本文中&#xff0c;我们将探讨CLIP和DINOv2的优势和它们直接微妙的差别。我们的目标是发现哪些模型在图像相…

PostgreSQL ash —— pgsentinel插件 学习与踩坑记录

零、 注意事项 测试发现&#xff0c;pgsentinel插件在pg_active_session_history视图记录条数较多时&#xff0c;存在严重的内存占用问题&#xff0c;群里的其他朋友反馈还可能存在严重的内存泄漏问题。本文仅用于学习和测试&#xff0c;未用于生产环境。 设置 pgsentinel_ash.…

Android平台实现lottie动画

1、lottie动画简介 Lottie 是一个应用十分广泛动画库&#xff0c;适用于Android、iOS、Web、ReactNative、Windows的库&#xff0c;它解析了用Bodymovin导出为json的Adobe After Effects动画&#xff0c;并在移动和网络上进行了原生渲染。它提供了一套完整得从AE到各个终端的…

c++ 学习 之 继承中 父类子类构造函数和析构函数的调用顺序

#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std;// 继承中的对象模型class Base { public:Base(){cout << "Base 的构造函数 " << endl;}~Base(){cout << "Base 的析构函数 " << endl;} };clas…

2023年【通信安全员ABC证】找解析及通信安全员ABC证考试总结

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 通信安全员ABC证找解析参考答案及通信安全员ABC证考试试题解析是安全生产模拟考试一点通题库老师及通信安全员ABC证操作证已考过的学员汇总&#xff0c;相对有效帮助通信安全员ABC证考试总结学员顺利通过考试。 1、【…

业务平台为测试带来的挑战

“业务平台”是指 中间平台&#xff0c;其上游有底层系统支撑&#xff0c;其下游有客户群体。因为平台下游承接大量客户群体&#xff0c;客户对应用的行为极其敏感&#xff0c;一些小故障比如闪屏、按钮失灵&#xff0c;落数失败会有很大概率引起客诉。 客诉对公司整体的影响 …

山体滑坡监测预警系统

在面对自然灾害和地质灾害的严峻挑战时&#xff0c;人们对于科技的需求和依赖更加强烈。山体滑坡&#xff0c;作为一种常见的地质灾害&#xff0c;其不可预测性和潜在的巨大破坏力令人深感忧虑。然而&#xff0c;随着山体滑坡监测预警系统的出现&#xff0c;人们有了一个强有力…

【计算机视觉 05】YOLO论文讲解:V1-V7

https://ai.deepshare.net/live_pc/l_63243a65e4b050af23b79338 Part1.目标检测与YOLO系列 1. 目标检测任务及发展脉络 2. YOLO的发展史 Anchors Base原理&#xff1a; Part2.YOLOV1-V3 3. YOLO V1的网络结构 4. YOLO V3的网络结构与实验结果 Part3.YOLO的进化 5. YOLO V4的网络…

Python实现收发邮件

在实际开发中&#xff0c;当你收到一个需求的时候&#xff0c;比如要做一个「收发邮件」的功能。 如果你完全没有印象&#xff0c;没有思路&#xff0c;可以直接 Google 搜索的。 因为我们不可能对每个知识点都了解&#xff0c;不了解不可耻&#xff0c;但要懂得怎么去找资料…

用全栈智能,联想如何“零故障”支持亚运会?

作者 | 曾响铃 文 | 响铃说 1912年&#xff0c;电子计时器首次应用&#xff0c;1936年&#xff0c;体育赛事首次在电视上播出&#xff0c;1972年计算机首次进入人类赛事&#xff0c;1996年互联网技术大范围应用&#xff0c;随后3G网络、3D技术、VR技术……以奥运会为代表&…

Domain Enhanced Arbitrary Image Style Transfer via Contrastive Learning

ABSTRACT 在这项工作中&#xff0c;我们使用一种新颖的风格特征表示学习方法来解决任意图像风格转移的挑战性问题。合适的风格表示作为图像风格化任务的关键组成部分&#xff0c;对于获得满意的结果至关重要。 现有的基于深度神经网络的方法在内容特征的Gram矩阵等二阶统计量…

Linux——指令初识(二)

Linux下基本指令 前言一、时间相关的指令二、Cal指令三、find指令四、grep指令五、sort指令六、uniq指令七、.zip/unzip指令八、.tar指令九、uname –r指令十、重要的几个热键[Tab],[ctrl]-c, [ctrl]-d十一、关机总结 前言 linux的学习开始啦&#xff01; 今天我们继续来认识指…

选择适合普通公司的项目管理软件

不管是打工人还是学生党都适合使用Zoho Projects项目管理软件。利用项目概览功能&#xff0c;将整体项目尽收眼底&#xff0c;作为项目管理者&#xff0c;项目日程、进度都可见&#xff0c;Zoho Projects项目管理APP助推项目每一环节的进展&#xff0c;更便于管理者设计项目的下…

基于Springboot实现校园新闻网站管理系统演示【项目源码+论文说明】分享

基于Springboot实现校园新闻网站管理系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个校园新闻网站 &#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;采用B/S架构&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述校…

基于Springboot实现网上商城管理系统演示【项目源码+论文说明】分享

基于Springboot的网上商城管理系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;网上商城购物系统当然也不能排除在外。网上商城购物系统是以实际运用为开发背景&…

【小白必看】网络安全(黑客)0基础学习笔记

目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全&#xff08;黑客技术&#xff09;首先你得了解什么是网络安全&#xff01;什么是黑客&#xff01; 网络安全可以基于攻击和防御视角来分类…

使用echarts时多tab切换后不能正确获取到指定的宽度,默认100px,修改浏览器窗口大小后又能正常展示

图表部分代码&#xff1a; <template><div :class"className" :style"{ height: height, width: width }" /> </template>使用代码&#xff1a; <el-tabs v-model"activeName" type"card"><el-tab-pane …