当前位置: 首页 > news >正文

计网期末复习指南(六):应用层(DNS、FTP、URL、HTTP、SMTP、POP3)

前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中...   

计网期末复习指南(一):计算机网络体系结构计网期末复习指南(二):物理层计网期末复习指南(三):数据链路层
计网期末复习指南(四):网络层计网期末复习指南(三):运输层计网期末复习指南(六):应用层


目录

一.应用层概述

二.域名系统DNS

▐ 域名结构

三.文件传输协议FTP

四.万维网WWW

▐ 统一资源定位符URL

URL的结构

URL示例

URL在Web中的作用

▐ 超文本传输协议HTTP

HTTP请求

HTTP响应

常见的HTTP方法

HTTP状态码

HTTP的版本

▐ 超文本标记语言HTML

动态万维网文档

活动万维网文档

五.邮件收发协议


一.应用层概述

在TCP/IP模型中,应用层是网络协议栈中最高层的一层,负责处理网络应用之间的通信。

应用层的主要功能包括:

  • 提供应用程序与网络之间的接口,使应用程序能够通过网络传输数据。
  • 定义了应用层协议,如HTTP、SMTP、FTP等,用于规定应用程序之间的通信规则和数据格式。
  • 实现了应用层协议的解析和处理,包括对数据的封装、路由、拆分和重组等。
  • 提供了各种网络服务的功能,如电子邮件、文件传输、远程登录等。

应用层协议是应用程序直接使用的协议,因此应用层协议的设计需要考虑到应用程序的需求和特点。同时,应用层还负责将数据传输到传输层,将接收到的数据传递给相应的应用程序。


二.域名系统DNS

域名系统(Domain Name System, DNS)是互联网的基础服务之一,它将用户友好的域名(如www.example.com)转换为计算机可以理解的IP地址(如192.0.2.1)。这个过程称为域名解析。DNS的主要作用是通过将便于记忆的域名转换为实际的IP地址,帮助用户更方便地访问互联网资源。比如我们平常使用百度都是直接访问baidu.com而没有人去输入百度的IP地址,有了DNS的帮助,可以极大程度上优化用户的体验。

以下是DNS的基本工作原理:

  1. 用户输入域名:用户在浏览器地址栏输入域名。
  2. DNS解析器查询:浏览器向本地DNS解析器发送查询请求。
  3. 本地缓存检查:本地DNS解析器先检查缓存中是否有对应的IP地址。
    • 如果有缓存记录,则直接返回IP地址。
    • 如果没有缓存记录,则继续向上级DNS服务器查询。
  4. 递归查询:如果本地DNS解析器没有找到结果,它会递归查询其他DNS服务器。查询过程通常从根DNS服务器开始,逐级向下查询顶级域(TLD)服务器和权威DNS服务器。
  5. 获得IP地址:最终,权威DNS服务器返回域名对应的IP地址。
  6. 返回结果:本地DNS解析器将IP地址返回给用户的浏览器。
  7. 建立连接:浏览器使用获得的IP地址与目标服务器建立连接,获取网页内容。

DNS系统分为多个层级,包括:

  • 根域名服务器:管理顶级域(如.com、.org等)的信息。
  • 顶级域(TLD)服务器:管理特定顶级域内的所有域名(如.com域的所有域名)。
  • 权威DNS服务器:存储具体域名及其对应的IP地址信息。
  • 缓存DNS服务器:保存近期解析过的DNS记录,减少重复查询。

▐ 域名结构

互联网的域名结构采用层次化的分级体系,每个域名由多个部分组成,从右到左依次为顶级域、二级域、三级域等,形成一个树状结构。以下是详细的域名结构:

  1. 顶级域(Top-Level Domain, TLD)通用顶级域(gTLD):如.com.org.net.info等。国家代码顶级域(ccTLD):如.cn(中国)、.uk(英国)、.jp(日本)等。

  2. 二级域(Second-Level Domain, SLD):位于顶级域之下,通常由注册者选择和注册。例如,在example.com中,example是二级域。

  3. 三级域(Third-Level Domain):二级域下的子域。例如,在www.example.com中,www是三级域。

  4. 更低级别的域(Lower-Level Domains):根据需要,可以进一步划分为四级域、五级域等。例如,sub.www.example.com中,sub是四级域。

示例:

www.example.com
  • com:顶级域(TLD)
  • example:二级域(SLD)
  • www:三级域

三.文件传输协议FTP

FTP (File Transfer Protocol) 是一种用于在网络中传输文件的标准协议。它是一个客户端-服务器协议,允许用户通过客户端程序与远程服务器建立连接并进行文件的上传和下载。

使用FTP,用户可以在本地计算机和远程服务器之间传输文件。用户需要输入远程服务器的IP地址或域名、用户名和密码来建立连接。一旦连接建立成功,用户可以浏览服务器上的文件和目录,并进行文件的上传和下载。

FTP协议使用两个不同的连接:控制连接和数据连接。控制连接用于传输命令和回应,而数据连接用于传输实际的文件数据。

FTP支持多种操作,包括上传文件、下载文件、创建目录、删除文件、重命名文件、浏览文件列表等。同时,FTP还提供了认证和安全机制,如用户名和密码验证、加密传输等,以保护文件传输的安全性。

由于FTP是一种老旧的协议,存在一些安全性和性能方面的限制。因此,现在更常用的是基于FTP的安全协议,如SFTP (SSH File Transfer Protocol) 和FTPS (FTP over SSL/TLS)。这些协议通过加密和身份验证等机制提供更高的安全性和性能。

FTP协议使用两个不同的端口号:

  • 控制连接端口(Command Port):默认使用端口号21。该端口用于建立控制连接,用于传输FTP命令和回应。
  • 数据连接端口(Data Port):默认使用端口号20。该端口用于建立数据连接,用于传输实际的文件数据。

四.万维网WWW

万维网(World Wide Web)是一种基于超文本的联机信息系统,英文简称是Web,是互联网的一部分。它由一系列的网页(Web Page)组成,这些网页通过超链接(Hyperlink)相互连接。通过万维网,人们可以通过浏览器访问和浏览网页上的内容,如文本、图像、音频、视频等。

万维网的概念由英国科学家蒂姆·伯纳斯-李(Tim Berners-Lee)于1989年提出,并在1990年创造了第一个网页浏览器和服务器。万维网的设计理念是将信息以分布式的方式组织起来,使之能够被广泛地共享和访问。

通过万维网,人们可以搜索和获取各种信息,进行在线购物、在线娱乐、社交网络等活动。万维网以客户服务器方式工作,客户机向服务器发出请求,服务器程序向客户端程序送回客户想要的万维网文档。在这个过程中需要解决以下几个问题:

  1. 怎样标志分布在整个互联网上的万维网文档?
  2. 用什么样的协议来实现万维网上的各种链接?
  3. 怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接?

为了解决第一个问题,万维网使用统一资源定位符URL (Uniform Resource Locator)来标志万维网上的各种文档,并使每一个文档在整个互联网的范围内具有唯一的标识符URL。

为了解决上述的第二个问题,就要使万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传送协议HTTP(Hyper Text Transfer Protocol)。HTTP是一个应用层协议,它使用TCP连接进行可靠的传送。

为了解决上述的第三个问题,万维网使用超文本标记语言HTML(Hyper Text Markup Language),使得万维网页面的设计者可以很方便地用钱接从本页面的某处链接到互联网上的任何一个万维网页面,并且能够在自己的主机屏幕上格文些页面显示出来。最后,用户可使用搜索工具在万维网上方便地查找所需的信息。

▐ 统一资源定位符URL

统一资源定位符(Uniform Resource Locator, URL)是用于标识和定位互联网上的资源的字符串。URL是一种子集,属于更广泛的统一资源标识符(Uniform Resource Identifier, URI)家族。URL提供了资源的位置以及访问该资源的方法。

URL的结构

URL的基本结构由多个部分组成,每个部分都有特定的功能。这些部分通常以某种格式组合在一起,以便唯一地标识和访问资源。URL的典型结构如下:

scheme://userinfo@host:port/path?query#fragment

1. 方案(Scheme)

  • 表示资源访问的协议类型,如httphttpsftpmailto等。
  • 例子:httphttps

2. 用户信息(Userinfo)

  • 可选部分,包含用户名和密码,用于访问受保护的资源。
  • 格式:username:password@
  • 例子:user:pass@

3. 主机(Host)

  • 表示资源所在的服务器,可以是域名或IP地址。
  • 例子:www.example.com192.0.2.1

4. 端口(Port)

  • 可选部分,指定访问资源的端口号,默认情况下HTTP使用80端口,HTTPS使用443端口。
  • 格式::port
  • 例子::8080

5. 路径(Path)

  • 表示资源在服务器上的具体位置,通常以/分隔的层级结构表示。
  • 例子:/path/to/resource

6. 查询(Query)

  • 可选部分,包含一些参数,用于向资源传递额外的信息。通常以键值对的形式表示,多组键值对用&分隔。
  • 格式:?key1=value1&key2=value2
  • 例子:?search=example&lang=en

7. 片段(Fragment)

  • 可选部分,指向资源内的某个部分或位置,通常用于HTML文档中的锚点。
  • 格式:#fragment
  • 例子:#section1

URL示例

以下是一些URL的示例,展示了不同部分的组合和用途:

简单的HTTP URL

http://www.example.com/index.html
  • Scheme: http
  • Host: www.example.com
  • Path: /index.html

带有端口的URL

http://www.example.com:8080/index.html
  • Scheme: http
  • Host: www.example.com
  • Port: 8080
  • Path: /index.html

带有查询参数的URL

http://www.example.com/search?q=openai&lang=en
  • Scheme: http
  • Host: www.example.com
  • Path: /search
  • Query: q=openai&lang=en

URL在Web中的作用

  • 资源定位:URL是访问网页、图片、视频等各种资源的基础。
  • 导航和链接:URL用于超链接,帮助用户在不同网页和网站之间导航。
  • 数据传递:通过查询参数传递数据,实现搜索、过滤等功能。

▐ 超文本传输协议HTTP

超文本传输协议(HyperText Transfer Protocol, HTTP)是用于在万维网上分布式、协作和超媒体信息系统中传输数据的应用层协议。HTTP是Web的基础,通过它,客户端和服务器能够互相通信并交换信息。

HTTP是一种无状态的协议,意味着每个请求和响应都是独立的,不保留任何状态信息。每次客户端发送请求时,都需要包含所有必要的信息,服务器在响应后不会保留任何请求的信息。

HTTP通信由请求(Request)和响应(Response)组成。客户端发送HTTP请求,服务器处理请求后返回HTTP响应。

HTTP请求

一个HTTP请求由以下部分组成:

  • 请求行(Request Line):包含请求方法、请求目标(URI)和HTTP版本。
  • 请求头(Request Headers):包含描述请求的元数据(例如,主机、用户代理、接受的内容类型等)。
  • 空行:用于分隔请求头和请求体。
  • 请求体(Request Body):可选,包含要发送到服务器的数据(如表单数据)。

示例请求:

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

HTTP响应

一个HTTP响应由以下部分组成:

  • 状态行(Status Line):包含HTTP版本、状态码和状态描述。
  • 响应头(Response Headers):包含描述响应的元数据(例如,内容类型、内容长度等)。
  • 空行:用于分隔响应头和响应体。
  • 响应体(Response Body):可选,包含服务器返回的数据(如网页内容)。

示例响应:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 123<html>
<body>
<h1>Hello, World!</h1>
</body>
</html>

常见的HTTP方法

  • GET:请求指定资源。只用于请求数据,不应修改服务器上的任何资源。
  • POST:向指定资源提交数据,通常用于表单提交。
  • PUT:向指定资源上传数据,替换目标资源的所有当前表示。
  • DELETE:请求删除指定资源。
  • HEAD:类似GET,但只请求资源的头部信息,不返回响应体。
  • OPTIONS:返回服务器支持的HTTP方法。
  • PATCH:对指定资源进行部分修改。

HTTP状态码

HTTP状态码由三位数字组成,表示服务器对请求的处理结果。常见状态码如下:

  • 1xx(信息性):请求已接收,继续处理。
    • 100 Continue
  • 2xx(成功):请求已成功处理。
    • 200 OK
    • 201 Created
  • 3xx(重定向):需要进一步操作以完成请求。
    • 301 Moved Permanently
    • 302 Found
  • 4xx(客户端错误):请求包含错误或无法处理。
    • 400 Bad Request
    • 401 Unauthorized
    • 403 Forbidden
    • 404 Not Found
  • 5xx(服务器错误):服务器在处理请求时发生错误。
    • 500 Internal Server Error
    • 502 Bad Gateway
    • 503 Service Unavailable

HTTP的版本

  • HTTP/1.0:最初版本,支持基本的请求和响应功能。
  • HTTP/1.1:改进了持久连接、管道化传输、分块传输编码等。
  • HTTP/2:引入二进制分帧、多路复用、头部压缩等特性,提高了传输性能。
  • HTTP/3:基于QUIC协议,进一步提升传输效率和安全性。

HTTP广泛应用于Web浏览、API通信、文件传输等领域。它是浏览器与Web服务器、客户端与RESTful服务之间通信的主要协议。

▐ 超文本标记语言HTML

超文本标记语言(HTML)是一种用于创建网页的标记语言。HTML使用标签来描述网页中的各种元素和结构。这些标签被放置在尖括号(<>)中,并以开始标签和结束标签的形式出现,开始标签以"<"开头,结束标签以"/>"结尾。

HTML标记语言可以定义文本的结构、布局、链接、图像、音频、视频等内容。它允许开发人员在网页中插入文本、图像、链接等元素,并通过使用相关的属性来控制这些元素的外观和行为。

HTML是开放标准,由万维网联盟(W3C)负责维护和发展。它是网页开发的基础,在互联网上广泛应用。通过使用HTML,开发人员可以创建具有各种功能和交互性的网页,从简单的静态网页到复杂的动态网站。

以下就是一个简单的静态万维网文档

<!DOCTYPE html>
<html>
<head><title>页面标题</title>
</head>
<body><h1>这是一个标题</h1><p>这是一个段落。</p>
</body>
</html>

动态万维网文档

动态万维网文档(Dynamic Web Document)是一种根据用户的请求和动作而生成的网页内容。与静态网页不同,动态网页的内容不是预先编写好的静态HTML文件,而是根据服务器端的程序和数据库等进行实时生成的。

动态网页通常由两部分组成:前端和后端。前端部分负责处理用户的输入和交互,并将数据发送到后端。后端部分则根据接收到的数据进行处理,从数据库中检索所需的信息,对数据进行操作,最终生成动态内容,并将其发送回前端以供用户浏览。

动态网页的实现通常使用服务器端的脚本语言(如PHP、Python、Ruby等)和数据库(如MySQL、Oracle等)。通过这些技术,开发人员可以根据用户的需求和数据库中的数据生成具有个性化和实时性的网页内容。

动态网页的优点是可以实现更复杂的交互功能和个性化定制,适用于需要实时更新内容的场景,如社交媒体、电子商务网站等。然而,相对于静态网页而言,动态网页在加载速度上可能会稍慢,并且需要更多的服务器资源来处理和生成内容。

活动万维网文档

活动万维网文档(Active Web Document)是指具有动态交互性和实时更新能力的网页文档。与静态网页和动态网页相比,活动万维网文档更加具有实时性和个性化定制的特点。

活动万维网文档通过使用前端技术(如JavaScript)和后端技术(如服务器端脚本)实现动态交互功能。它可以根据用户的行为和输入,动态地改变网页的内容、样式和行为。常见的例子包括在线游戏、即时通讯、实时更新的股票报价等。

与动态万维网文档相比,活动万维网文档更加注重实时性和交互性。它可以通过使用前端技术实现实时的动画效果、实时响应用户的操作。而动态网页更加强调后端技术,通过服务器端的脚本和数据库等来生成和提供动态的网页内容。

总的来说,动态万维网文档是指通过服务器端脚本和数据库等实时生成的网页内容,而活动万维网文档是指具有动态交互性和实时更新能力的网页文档。活动万维网文档可以通过前端技术实现实时的动画效果和实时响应用户的操作,更加注重实时性和交互性。


五.邮件收发协议

常见的邮件收发协议有以下几种:

  • POP3(Post Office Protocol Version 3):是一种用于从邮件服务器上收取电子邮件的协议。它允许用户将电子邮件下载到本地设备上,并在本地设备上进行管理。
  • IMAP(Internet Message Access Protocol):与POP3类似,也是用于从邮件服务器上收取电子邮件的协议。不同的是,IMAP允许用户在本地设备上查看邮件的同时,也可以在服务器上对邮件进行管理,如创建文件夹、删除邮件等操作。
  • SMTP(Simple Mail Transfer Protocol):是一种用于发送电子邮件的协议。SMTP将邮件从发送者的邮件客户端发送到接收者的邮件服务器,并在服务器之间进行中转,直到邮件被送达到接收者的邮件服务器。
  • POP3S和IMAPS:分别是POP3和IMAP的安全版本,使用SSL/TLS加密通信,确保邮件在传输过程中的安全性。

这些协议在电子邮件的收发过程中扮演着重要的角色,保证了邮件的可靠传输和安全性。这里单独对SMTP简单解释一下。

SMTP(Simple Mail Transfer Protocol)是一种用于发送电子邮件的协议。它定义了邮件从发送者的邮件客户端发送到接收者的邮件服务器的传输规则。SMTP协议使用TCP作为传输层协议,它使用25号端口来进行通信。

在SMTP协议中,发送邮件的过程可以简单地分为以下几个步骤:

  1. 建立连接:发送者的邮件客户端通过向接收者的邮件服务器发送连接请求来建立连接。连接请求包括发送者的身份验证和连接建立的要求。
  2. 握手:接收者的邮件服务器接收到连接请求后,会发送一个握手响应,通知发送者连接已建立。
  3. 发送邮件:发送者通过SMTP命令向接收者的邮件服务器发送邮件内容。常用的SMTP命令包括HELO(发送者的身份验证)、MAIL FROM(指定发送者的电子邮件地址)、RCPT TO(指定接收者的电子邮件地址)、DATA(开始发送邮件内容)、QUIT(关闭连接)等。
  4. 传输邮件内容:发送者将邮件内容以文本格式发送给接收者的邮件服务器。邮件内容包括邮件主题、发件人、收件人、邮件正文、附件等。
  5. 邮件路由:接收者的邮件服务器根据收件人的地址,将邮件转发给相应的收件人。
  6. 结束连接:邮件发送完毕后,发送者的邮件客户端发送QUIT命令通知接收者的邮件服务器关闭连接。

SMTP协议的设计目标是快速、可靠地传递电子邮件,并提供一定的错误处理和反馈机制。它是电子邮件系统中不可或缺的一部分,广泛应用于各种邮件客户端和邮件服务器之间的通信。




 本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见

相关文章:

计网期末复习指南(六):应用层(DNS、FTP、URL、HTTP、SMTP、POP3)

前言&#xff1a;本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点&#xff0c;从计算机网络体系结构出发到应用层&#xff0c;每一个协议层通过一篇文章进行总结&#xff0c;本系列正在持续更新中... 计网期末复习指南&#xff08;一&#xff09;&#xff1a;计算…...

HTML做成一个炫酷跳动爱心的页面

大家好&#xff0c;今天制作制作一个炫酷跳动爱心的页面&#xff01; 先看具体效果&#xff1a; 要创建一个炫酷跳动爱心的HTML页面&#xff0c;你可以使用HTML、CSS和JavaScript的组合。以下是一个简单的示例&#xff0c;它使用CSS动画和JavaScript来实现跳动效果。 首先&…...

React + SpringBoot实现图片预览和视频在线播放,其中视频实现切片保存和分段播放

图片预览和视频在线播放 需求描述 实现播放视频的需求时&#xff0c;往往是前端直接加载一个mp4文件&#xff0c;这样做法在遇到视频文件较大时&#xff0c;容易造成卡顿&#xff0c;不能及时加载出来。我们可以将视频进行切片&#xff0c;然后分段加载。播放一点加载一点&am…...

Suse Linux ssh配置免密后仍需要输入密码

【问题描述】 Suse Linux已经配置了ssh免密&#xff0c;但无法ssh到目标服务器。 对自身的ssh登陆也需要输入密码。 系统–Suse 15 SP5 【重现步骤】 1.使用ssh-keygen -t rsa生产key文件 2.使用ssh-copy-id拷贝public key到目标机器(或者自身) 3.配置成功后ssh 目标时仍需要输…...

apifox 生成签名

目录 前言准备编写签名脚本签名说明捋清思路编码获取签名所需的参数生成签名将签名放到合适的位置完整代码 在apifox中配置脚本新增公共脚本引用公共脚本添加环境变量 参考 前言 略 准备 查看apifox提供的最佳实践文章&#xff1a;接口签名如何处理 编写签名脚本 签名说明…...

介绍建造者模式

建造者模式 将一个复杂对象的创建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示 四种角色 Product 产品角色 指的是一个具体的产品对象Builder 抽象建造者 创建一个产品对象的各个部件的接口/抽象类ConcreteBuilder 具体建造者 实现或继承抽象建造者接口…...

【全部更新完毕】2024全国大学生数据统计与分析竞赛B题思路代码文章教学数学建模-电信银行卡诈骗的数据分析

电信银行卡诈骗的数据分析 摘要 电信银行卡诈骗是当前社会中严重的犯罪问题&#xff0c;分析电信银行卡交易数据&#xff0c;找出高风险交易特征&#xff0c;建立预测模型&#xff0c;将有助于公安部门和金融机构更好地防范诈骗行为&#xff0c;保障用户的财产安全。 针对问…...

【应用浅谈】Odoo的库存计价与产品成本(三)

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo的库存&#xff08;Stock&#xff09;模块拥有众多功能&#xff0c;其中库存计价是一项非常重要的功能&#xff0c;原生的成本方法分三种&#xff1a;【标准成本】&#xff0c;【平均成本】&#xff0c;【先进先出】&#…...

数据结构之ArrayList与顺序表(下)

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 目录 ArrayList的具体使用 118. 杨辉三角 扑克洗牌算法 接上篇&#xff1a;数据结构之ArrayLis…...

openi启智社区 aarch64 npu环境安装飞桨paddlepaddle和PaddleNLP(失败)

以前在启智社区都是编译安装飞桨&#xff0c;这回看到飞桨提供了npu安装包&#xff0c;兴冲冲的以为安装很简单。 之所以安装飞桨&#xff0c;是因为想在启智社区的启智大脑调试环境使用最新的PaddleNLP&#xff0c;结果报错&#xff1a;No module named paddle.nn.layer.laye…...

【漏洞复现】多客圈子论坛系统 httpGet 任意文件读取漏洞

0x01 产品简介 多客圈子论坛系统是一种面向特定人群或特定话题的社交网络&#xff0c;它提供了用户之间交流、分享、讨论的平台。在这个系统中&#xff0c;用户可以创建、加入不同的圈子&#xff0c;圈子可以是基于兴趣、地域、职业等不同主题的。用户可以在圈子中发帖、评论、…...

46-1 护网溯源 - 钓鱼邮件溯源

一、客户提供钓鱼邮件样本 二、行为分析 三、样本分析 对钓鱼邮件中的木马程序1111.exe文件进行了分析,提交了360安全大脑沙箱云和微步在线云沙箱。 360安全大脑沙箱云显示,该1111.exe文件存在危险,因此在解压时需要谨慎操作,以免触发木马程序。 建议使用360压缩软件进行…...

鸿蒙低代码开发一个高频问题

在版本是DevEco Studio 3.1.1 Release&#xff0c;SDK是3.1.0(API9)。 创建和设计的visual文件经常会遇到无法渲染的情况&#xff0c;或者自定义组件在Custom列表中突然不见了的情况。 有以下报错信息的&#xff1a; JSON schema validation error: data/visualModel/value/…...

关于使用南墙waf防护halo网站主页请求404报错的解决方案

文章目录 环境说明问题展示原因探究解决方法 环境说明 在1panel应用商店&#xff0c;部署南墙waf(docker版)halo(2.16.1社区版)注意部署过程中注意uuwaf必须勾选允许外部访问&#xff0c;halo可以不勾选[这里为了证明确实是南墙waf的原因&#xff0c;选择勾选] 问题展示 使…...

Elasticsearch 认证模拟题 - 13

一、题目 集群中有索引 task3&#xff0c;用 oa、OA、Oa、oA 查询结构是 4 条&#xff0c;使用 dingding 的查询结果是 1 条。通过 reindex 索引 task3 为 task3_new&#xff0c;能够使 task3_new 满足以下查询条件。 使用 oa、OA、Oa、oA、0A、dingding 查询都能够返回 6 条…...

Day25 首页待办事项及备忘录添加功能

​ 本章节,完成首页待办事项及备忘录添加功能 一.修改待办事项和备忘录逻辑处理类,即AddMemoViewModel和AddTodoViewModel 在 AddMemoViewModel逻辑处理类中,为了支持与其关联的View视图文件的数据绑定,需要定义一个与视图文件相匹配的实体类 Model。这个Model将包含 View中…...

SpringBoot——全局异常处理

目录 异常 项目总结 新建一个SpringBoot项目 pom.xml Result&#xff08;通用的响应结果类&#xff09; MyBusinessException自定义异常类 GlobalExceptionHandler全局异常处理类 ExceptionController控制器 SpringbootExceptionApplication启动类 参考文章&#xff1a…...

SpringBoot+Vue教师工作量管理系统(前后端分离)

技术栈 JavaSpringBootMavenMySQLMyBatisVueShiroElement-UI 角色对应功能 教师管理员 功能截图...

华为OD技术面试-最长回文串-2024手撕代码真题

题目:最长回文串 给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的 回文串 的长度。 在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s = "abccccdd" 输出:7 解释: 我们可以构造的最…...

Python实现连连看8

4 游戏开始 连连看游戏实际上主要完成的是对玩家鼠标点击事件的处理,也就是对鼠标点击事件的响应。 4.1 添加鼠标点击事件响应 在“1.3.4 在窗口上铺设画布”中提到的将画布pack()到窗口代码之前,写入如下代码,其功能是为鼠标点击事件添加响应。 canvas.bind(<Button…...

[Cloud Networking] Layer Protocol (continue)

文章目录 1. STP / RSTP / MSTP Protocol1.1 STP的作用1.2 STP 生成树算法的三个步骤1.3 STP缺点 2. ARP Protocol3. DHCP Protocol3.1 DHCP 三种分配方式3.2 DHCP 攻击 4. IPSEC / MACSEC 1. STP / RSTP / MSTP Protocol 1.1 STP的作用 消除二层环路&#xff1a;通过阻断冗余…...

人工智能在交通与物流领域的普及及应用

文章目录 &#x1f40b;引言 &#x1f40b;自动驾驶 &#x1f988;自动驾驶汽车 &#x1f421;应用现状 &#x1f421;技术实现 &#x1f421;实现过程及代码 &#x1f40b;智能交通管理 &#x1f988;应用现状 &#x1f988;技术实现 &#x1f988;实现过程及代码 &…...

JVM学习-详解类加载器(二)

双亲委派机制 双亲委派优势 避免类的重复加载&#xff0c;确保一个类的全局唯一性 Java类随着它的类加载器一起具备了一种带有优先级的层次关系&#xff0c;通过这种层次关系可以避免类的重复加载&#xff0c;当父类已经加载了该类&#xff0c;就没有必要子ClassLoader再加载…...

数字校园的优势有哪些

数字化时代下&#xff0c;数字校园已成为教育领域一股显著趋势。数字校园旨在借助信息技术工具对传统校园进行改造&#xff0c;提供全新的教学、管理和服务方式。那么&#xff0c;数字校园究竟具备何种优势&#xff1f;现从三个方面为您详细介绍。 首先&#xff0c;数字校园为教…...

DexCap——斯坦福李飞飞团队泡茶机器人:更好数据收集系统的原理解析、源码剖析

前言 2023年7月&#xff0c;我司组建大模型项目开发团队&#xff0c;从最开始的论文审稿&#xff0c;演变成目前的两大赋能方向 大模型应用方面&#xff0c;以微调和RAG为代表 除了论文审稿微调之外&#xff0c;目前我司内部正在逐一开发论文翻译、论文对话、论文idea提炼、论…...

【Mtk Camera开发学习】01 MTK 平台Camera BringUp

本专栏内容针对 “知识星球”成员免费&#xff0c;欢迎关注公众号&#xff1a;小驰行动派&#xff0c;加入知识星球。 #MTK Camera开发学习系列 #小驰私房菜 这篇文章主要介绍MTK 平台&#xff0c;Camera BringUp会涉及到修改的模块。 MTK不同的平台系列&#xff0c;具体修改…...

新能源汽车内卷真相

导语&#xff1a;2025年&#xff0c;我国新能源汽车总产能预计可达3661万辆&#xff0c;如此产能如何消化&#xff1f; 文 | 胡安 “这样卷下去不是办法&#xff0c;企业目的是什么&#xff1f;是盈利&#xff0c;为国家作贡献&#xff0c;为社会作贡献。我们应该有大格局&…...

C 语言实现在终端里输出二维码

Mac 环境安装二维码库 brew install qrencode安装过程报权限问题执行以下命令 sudo chown -R 用户名 /usr/local/include /usr/local/lib chmod uw /usr/local/include /usr/local/lib#include <stdio.h> #include <qrencode.h>void print_qr_code(QRcode *qrcode…...

nodejs---fs模块,文件读写操作详解,自定义一个文件写入方法

fs模块导入 Node.js 同时支持 CommonJS 和 ES 模块系统&#xff08;自 Node.js v12 以来&#xff09; // 两种模块导入方式 import * as fs from fs;// Es6:这种方式需要在package.json中配置"type": "module" const fs require(fs);// commonJs:如果你…...

Linux(Rocky)下 如何输入中文(切换中文输入法)教程

RockyLinux如何输入中文&#xff08;切换中文输入法&#xff09; 注意 在字符画界面的Linux系统中 默认不具备中文输入法的功能 需要SSH或其他远程工具来实现 问题 可能大家有的时候安装了一个虚拟机之后 想切换中文输入法 但是一直找不到方法 下面将利用Rocky9.2作为演示…...

湘潭网站建设公司/沈阳网站关键字优化

1.解题过程&#xff1a; 直接用 base64 解码&#xff0c;得到 flag...

wordpress怎么改颜色/宁波抖音seo搜索优化软件

技术可以做多长 在这里&#xff0c;我用我自己经历做个例子&#xff0c;我在软件编程上有14年了&#xff08;加上大学里的项目就有16年了&#xff09;&#xff0c;虽然我今天是经理了&#xff0c;但是我还是喜欢编程。我以前也听到过别人说的——做技术太辛苦&#xff0c;没前途…...

什么牛网站建设/seo运营

rem和::都起到注释的作用&#xff0c;然而又有些不同。一、rem是一条命令&#xff0c;在运行的时候相当于把rem本身及其后面的内容置空。既然它是一条命令&#xff0c;就必须处于单独的一行或者有类似“&”的连接符号连接。二、批处理遇到以冒号“:”开头的行时&#xff08…...

山东平台网站建设价位/百度电脑版入口

SpringMVC——处理json、文件上传和下载、拦截器、国际化一、springmvc处理json1.1 HttpMessageConverter介绍1.2 SringMVC响应json数据示例&#xff08;重点&#xff09;1.2.1 返回json格式的自定义类型对象1.2.2 返回json格式的List集合1.2.3 返回String是文本数据1.3 发送js…...

网络工程师题库/seo实战培训视频

因为市场上有许多的SQL管理工具&#xff0c;所以要为SQL项目管理选择工具是一件有挑战性的事。为大家推荐23款SQL工具的精选列表&#xff0c;希望朋友们喜欢。其中几款已经在昨天的SQL查询优化工具一文中&#xff0c;做过推荐。1.Aqua Data StudioAqua Data Studio是一个功能丰…...

网站建站网站设计/网络营销的发展现状如何

0.前言随机访问迭代器: vector、string、dequeSTL的一个革命性的方面就是它的计算复杂性保证 条款01:慎重选择容器类型 c提供的容器:标准STL序列容器&#xff1a;vector、string、deque、list标准STL关联容器&#xff1a;set、multiset、map、multimap非标准STL容器&#xff1a…...