HTTP协议详解:从零开始的Web通信之旅

news2024/9/21 14:38:02

文章目录

  • 一、引言:Web通信的基石 - HTTP协议
  • 二、HTTP请求方法
    • 2.1 OPTIONS
    • 2.2 HEAD
    • 2.3 GET
    • 2.4 POST
    • 2.5 PUT
    • 2.6 DELETE
    • 2.7 TRACE
    • 2.8 CONNECT
    • 2.9 注意
  • 三、HTTP工作原理
  • 四、HTTP 请求/响应流程
    • 4.1、客户端连接到web服务器
    • 4.2、发送HTTP请求
    • 4.3、服务器接受请求并返回HTTP响应
    • 4.4、释放连接TCP连接
    • 4.5、客户端浏览器解析HTML内容
  • 五、HTTP报文结构
    • 5.1 状态行
    • 5.2 请求头部
    • 5.3 空行
    • 5.4 请求数据
  • 六、HTTP响应状态码
    • 6.1信息响应
    • 6.2成功响应
    • 6.3重定向消息
    • 6.4客户端错误响应
    • 6.5服务器端错误响应
  • 七、HTTP主要特点
    • 7.1无连接
    • 7.2无状态
    • 7.3简单快速
    • 7.4灵活
  • 结语

一、引言:Web通信的基石 - HTTP协议

HTTP是超文本传输协议,其定义了客户端和服务器端之间的文件传输规范,HTTP默认使用80端口,这个端口是指服务器端的端口,客户端使用的端口是动态分配的。当我们没有指定端口访问的时候,浏览器会默认帮我们添加80端口。我们也可以自己制定访问的端口比如:http://www.ip138.com:80

需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口是443,如果使用80端口访问HTTPS协议的服务器可能会被拒绝

二、HTTP请求方法

2.1 OPTIONS

功能: 返回服务器针对特定资源所支持的 HTTP 请求方法。

用途: 可以通过向 Web 服务器发送 ‘*’ 请求来测试服务器的功能性。OPTIONS 请求有助于确定服务器允许哪些请求方法,并有助于预检 CORS 请求。

2.2 HEAD

功能: 向服务器请求与 GET 请求相一致的响应,只不过响应体不会被返回。

用途: 这一方法可以在不必传输整个响应内容的情况下,获取包含在响应消息中的元信息,非常适合用于验证链接的有效性或检查网页是否更新。

2.3 GET

功能: 向特定资源发起请求。

注意: GET 方法不应当用于产生副作用的操作中,例如在 Web 应用程序中,因为 GET 请求可能会被网络蜘蛛等随意访问。LoadRunner 中对应的 GET 请求函数有:web_submit 和 web_url。

2.4 POST

功能: 向指定资源提交数据进行处理请求(例如提交表单或上传文件)。数据被包含在请求体中。

用途: POST 请求可能会导致新资源的建立或已有资源的修改。LoadRunner 中对应的 POST 请求函数有:web_submit_data 和 web_submit_form。

2.5 PUT

功能: 向指定资源位置上传输其最新的内容。

用途: 通常用于更新资源的整个内容,如果资源不存在,则创建新的资源。

2.6 DELETE

功能: 向服务器删除 Request-URL 所标识的资源。

用途: 请求服务器删除指定的资源,适用于需要删除资源的场景。

2.7 TRACE

功能: 回显服务器收到的请求。

用途: 主要用于测试和诊断,查看请求在传输过程中是否被修改。

2.8 CONNECT

功能: HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。

用途: 主要用于建立隧道协议,如用于 SSL 加密的 HTTP 代理。

通过了解和正确使用这些 HTTP 请求方法,可以更有效地进行 Web 开发和服务器通信,从而提高应用程序的性能和安全性。

2.9 注意

  1. 方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed);当服务器不认识和或者不支持对应的请求方法时,应返回状态码501(Not Implemented)
  2. HTTP 服务器应该至少实现GET HEAD POST方法,其他方法是可选的,此外除了上述的方法之外,特定的HTTP服务器支持扩展自定义的方法。

三、HTTP工作原理

HTTP协议定义web客户端如何从web服务器请求web页面,以及服务器如何把web页面传送给客户端,HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法,url、协议版本、请求头部和请求数据、服务器以一个状态行为作为响应。响应的内容包括协议的版本,成功或者错误代码,服务器信息,响应头部和响应数据

四、HTTP 请求/响应流程

客户端连接到web服务器 -》 发送HTTP请求 -》服务器接受请求并返回HTTP响应 -》 释放连接TCP连接 -》 客户端浏览器解析HTML内容

4.1、客户端连接到web服务器

一个HTTP客户端、通常是浏览器,与web服务的HTTP 端口(默认为80)建立一个TCP套接字连接。

4.2、发送HTTP请求

通过TCP套接字,客户端向web服务器发送一个文本请求报文,一个请求报文由请求行、请求头部、空行、请求数据4部分组成

4.3、服务器接受请求并返回HTTP响应

web服务器解析请求,定位请求资源服务器将资源副本写进TCP套接字,由客户端读取,一个响应由状态行、响应头部、空行和响应数据4部分组成。

4.4、释放连接TCP连接

若connection模式为close,则服务器主动关闭TCP连接客户端被动关闭连接释放TCP连接,若connection模式为keepalive则该连接会保持一段时间,在该时间欸可以继续接收请求

4.5、客户端浏览器解析HTML内容

客户端浏览器首先解析状态行,查看表明请求是否成功的状态码。然后解析每一个响应头,响应体告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示

五、HTTP报文结构

客户端发送一个HTTP请求到服务器的请求消息包括以下格式
请求行(request line) 、请求头部(header)、空行、请求数据四个部分组成
在这里插入图片描述

5.1 状态行

第一部分:请求行以一个方法符号开头、以空格分开、最后跟着请求的url和协议的版本

5.2 请求头部

第二部分:从第二行起为请求头部,HOST将指出请求的目的地。User-Agent服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础、该信息由你的浏览器来定义,并且在每个请求中自动发送等等

5.3 空行

第三部分:空行、请求头部后面的空行是必须的

即使第四部分的请求数据为空,也必须要有空行

5.4 请求数据

第四部分:请求数据也叫主体,可以添加任意的其他数据。

六、HTTP响应状态码

6.1信息响应

100 Continue

这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它

101 Switching Protocols

该代码是响应客户端的Upgrade 请求头发送到阿,指明服务器即将切换到协议

102 Processing

此代码表示服务器已收到并正在处理该请求,但是没有响应可用

103 Early Hints

此代码主要用于与Link链接头一起使用,允许用户代理在服务器准备响应阶段时开始预加载 Preloading 资源

6.2成功响应

200 OK

当你的操作将在响应正文中返回数据时,出现此结果

  • GET: 资源已被提取并在消息正文中传输。
  • HEAD: 实体标头位于消息正文中。
  • PUT or POST: 描述动作结果的资源在消息体中传输。
  • TRACE: 消息正文包含服务器收到的请求消息。

201 Created

该请求已经成功,并因此创建了一个新的资源,这通常是在POST请求,或是某些PUT请求之后返回的响应。

202 Accepted

请求已经收到,但是还未响应,没有结果。意味着不会有一个异步的响应去表明当前请求的结果,预期另外的进程和服务去处理请求或者,批处理

203 Non-Authoritative Information

服务器已成功处理了请求,但是返回的实体头部元信息不是在原始服务器上有效的确定集合, 而是来自本地或者第三方的 拷贝 ,当前的信息可能是原始版本的子集或者超集。使用此状态码不是必须的,而且只有在响应不使用此状态码便会返回200 ok 的情况才是最合适的

204 No Content

当你的操作成功,但不在响应正文中返回 数据的时候,出现这个结果。用户代理可能会用此时请求头部信息来更新原来资源的头部资源字段

205 Reset Content

告诉用户代理重置发送此请求的文档

206 Partial Content

当从客户端发送range 范围表头以只请求资源的一部分的时候,将使用此响应代码

207 Muti-Status

对于多个状态码都可能合适的情况。传输多个资源的信息

208 Already Reported

在DAV里面使用dav:propstat响应元素以避免重复枚举多个绑定的内部成员到同一个集合

226 IM Used

服务器已经完成了对资源的GET请求,并且响应是对当前实例应用的一个或者多个实例操作的表示

6.3重定向消息

300 Mutiple Choice

请求拥有多个可能的响应,用户代理或者用户应当重中选择一个。(没有标准化的方法来选择其中一个响应,但是建议用指向可能性的HTML链接,以便用户可以选择)

301 Moved Permanently

请求资源的URL已永久更改,但是在响应中给出了新的URL

302 Found

此响应代码表示所请求资源的URL暂时更改未来可能会对url进行进一步的改变。因此,客户机应该在将来的请求中使用这个相同的URL

303 See other

服务器发送此响应,指示客户端通过应该GET 请求在另一个URL中获取请求的资源。

304 Not Modified(重定向)

当测试实体自上次检索以来是否被修改的时候,出现此结果。一般用于缓存的目的,它告诉客户端,因此客户端可以继续使用相同的缓存版本的响应

305 Use Proxy

在HTTP规范中定义,以指示请求的响应必须被代理访问,由于对于代理的带内配置的安全考虑,他已经被弃用

306 unused

此响应代码不再使用;它只是保留。它曾在HTTP 1.1规范的早期版本中使用过

307 Temporary Redirect

服务器发送此响应,以指示客户端使用在前一个请求中使用的相同方法在另一个URL上获取请求的资源。这与302 Found HTTP响应代码具有相同的语义,但用户代理不能更改所使用的HTTP方法:如果在第一个请求中使用了POST,则必须在第二个请求中使用POST。

308 Permanent Redirect

这意味着资源现在永久位于Location:HTTP Response标头指定的另一个URL。这与301 Moved Permanetly HTTP响应代码具有相同的语义,但用户代理不能更改所使用的HTTP 方法:如果在第一个请求中使用POST,则必须在第二个请求中使用POST

6.4客户端错误响应

400 Bad Request

由于被认为是客户端错误(如:错误的请求语法,无效的请求消息帧或欺骗性的请求路由),服务器无法或者不会处理请求。

401 Unauthorized

客户端错误,虽然HTTP标准指定了”Unauthorized“,但是从语义上来说,这个响应意味着”unauthenticated“也就是说,客户端必须对自身进行身份验证才能获得请求的响应。

402 Payment Required

此响应代码保留供将来使用。创建此代码的最初目的是将其用于数字支付系统,但是此状态代码很少使用,并且不存在标准的约定

403 Forbidden

客户端错误,客户端没有访问内容的权限,也就是说,它是经过授权的,因此服务器拒绝提供请求的资源。与 401 Unauthorized 不同,服务器知道客户端的身份。

404 Not found

(客户端错误) 当资源不存在的时候,出现此结果。在浏览器中这意味着无法识别URL,在API中,这也可能意味着端点有效,但资源本身不存在,服务器也可以发送此响应,而不是 403 Forbidden , 以向未经授权的客户端隐藏资源的存在。这个响应代码可能是最广为人知的。

405 Method Not Allowed

服务器知道请求方法,但是目标资源不支持该方法。例如,API可能不允许调用DELETE来删除资源。

406 Not Acceptable

当web服务器在执行服务器驱动型内容协商机制之后,没有发现任何符合用户代理给定标准的内容时候就会发出此响应

407 Proxy Authentication Required

类似于 401 Unauthorized 但是认证需要由代理完成

408 Request Timeout

此响应由一些服务器在空闲连接上发送,即使客户端之前没有任何请求。这意味着服务器想关闭这个未使用的连接。由于一些浏览器,如chrome ,Firefox使用HTTP预连接机制来加速冲浪,所以这种响应被使用的更多,还需注意的是,有些服务器只是关闭了连接而没有此发送消息。

409 Conflict

当请求与服务器的当前状态冲突时,将发送此响应

410 Gone

当请求的内容已经从服务器中永久删除且没有转发地址的时候,将发送此响应。客户端需要删除缓存和指向资源的链接。HTTP规范打算将此状态码用于”有限时间的促销服务“。API 不因该被迫指出已使用此状态代码删除的资源

411 Length Required

服务器端拒绝该请求是因为Content-Length头部字段未定义,但是服务端需要它。

412 Precondition Failed

客户端错误,客户端在头文件中指出了服务器不满足的先决条件。

413 Payload Too Large

(客户端错误) 当请求长度过长的时候,出现此结果,服务器可能会关闭连接,或者在标头字段返回重试 Retry-After

414 URL Took Long

客户端请求的URL比服务器愿意接受的长度长

415 Unsupported Media Type

服务器不支持请求数据的媒体格式,因此服务器拒绝请求

416 Range Not Satisfiable

无法满足 Range 标头字段指定的范围,该范围可能超出了目标URL数据的大小

417 Exceptation Failed

此协议代码表示服务器无法满足 Expect 请求表头字段所指示的期望

418 I’m a teapot

服务端拒绝用茶壶煮咖啡,来源茶壶冲泡咖啡

421 misdirected Request

请求被定向到无法生成响应的服务器,这可以由未配置为针对请求url包含的方案和权限组合生成的响应服务器发送。

422 Unprocessable Entity

请求格式正确,但由于语义错误而无法遵循

423 Locked

正在访问的资源已锁定

424 Failed Dependency

由于前一个请求请求失败,请求失败

425 Too Early

表示服务器不愿意冒险处理可能被重播的请求

426 Upgrade Required

服务器拒绝使用当前协议执行请求,但在客户端升级到其他协议后可能愿意这样做,服务端发送带有Upgrade字段的426响应来表明它所需要的协议

428 Precondition Required

源服务器要求请求是有条件的,此响应旨在防止‘丢失更新’问题,即当第三方修改服务器上的状态的时候,客户端GET 获取资源的状态,对其进行修改并将其PUT放回服务器,从而导致冲突

429 Too Many Requests

用户在给定的时间内发送了太多的请求(‘限制请求速率’)

431 Request Header Fields Too Large

服务器不愿意处理请求,因为其头字段太大。在减少请求头字段的大小之后,可以重新提交请求

451 Unavailable For Legal Reasons

用户代理请求了无法合法提供的资源,例如政府审查的网页

6.5服务器端错误响应

500 Internal Server Error

服务器遇到了不知道如何处理的情况。

501 Not Implemented

(服务器错误) 当为实施某个请求的操作时,服务器不支持这种请求方法,出现这个结果

502 Bad Gateway

此错误响应表明服务器作为网关需要得到一个处理这个请求的响应,但是得到了一个错误的响应。

503 Service Unavailable

(服务器错误) 当web API 服务不可用时,出现此结果服务器没有准备好处理请求。常见原因是服务器因维护或重载而停机。请注意,与此响应一起,应发送解释问题的用户友好页面。这个响应应该用于临时条件和如果可能的话,HTTP 标头 Retry-After 字段应该包含恢复服务之前的估计时间。网站管理员还必须注意与此响应一起发送的与缓存相关的标头,因为这些临时条件响应通常不应被缓存。

504 Gateway Timeout

当服务器充当网关且无法及时获得响应的时候,会给出此错误响应

505 HTTP Version Not Supported

服务器不支持请求中使用的HTTP版本

506 Variant Also Negotiates

服务器存在内部配置错误;所选的变体资源被配置为参与透明内容协商本身,因此不是协商过程中适当的终点。

507 Insufficient Storage

无法在资源上执行该方法,因为服务器无法存储成功完成请求所需的表示。

508 Loop Detected

服务器在处理请求时候检测到无限循环

510 Not Extended

服务器需要对请求进行进一步扩展才能完成请求。

511 Network Authentication Required

指示客户端需要进行身份验证才能获取网络访问权限

七、HTTP主要特点

7.1无连接

无连接的含义是指每次连接只能处理一个请求,服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间

7.2无状态

HTTP协议是无状态的协议,无状态是指协议对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次传输的数据量增大,另一个方面,在服务器不需要先前信息时,它的应答就比较快。

协议的状态是指下一次传输可以“记住”这次传输信息的能力.
http是不会为了下一次连接而维护这次连接所传输的信息的.

无状态是指,当浏览器发送请求给服务器的时候,服务器响应,但是同一个浏览器再发送请求给服务器的时候,他会响应,但是他不知道你就是刚才那个浏览器,简单地说,就是服务器不会去记得你,所以是无状态协议。

7.3简单快速

客户向服务器请求服务的时候,只需要传送请求方法和路径。请求方法常用的有GET,HEAD,POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小。因而通信速度很快

7.4灵活

HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记
支持B/S 和 C/S模式

结语

在撰写这篇文章的过程中,我尽力确保内容的准确和全面,但难免会有疏漏的地方。如果您发现任何错误或有任何改进建议,请不要犹豫,随时告诉我。我非常乐意接受您的宝贵建议,并会及时进行修改。

再次感谢您的阅读和支持,希望这篇文章对您有所帮助!

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

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

相关文章

【C++】学习笔记——红黑树

文章目录 十七、红黑树1.红黑树的概念红黑树的性质 2.红黑树节点的定义3.红黑树的插入4.红黑树的验证5.完整代码结果演示6.红黑树与AVL树的比较 未完待续 十七、红黑树 1.红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的…

XXL-JOB 定时任务在AI大模型中的应用

目录 1. 应用场景 2. 部署 XXL-JOB 3. SpringBoot 集成 XXL-JOB 定时任务代码示例 3.1 添加依赖 3.2 添加配置 3.3 添加执行器到Ioc容器 3.4 添加定时任务 3.5 控制台新增执行器 3.6 控制台添加任务 3.7 控制台开启任务 1. 应用场景 AI 大模型的调用往往是一个高资源…

在 Linux 系统上安装 GCC 编译器(不同发行版)

GCC(GNU Compiler Collection)是一个功能强大的开源编译器,支持多种编程语言,如 C、C、Fortran 等。在这篇博客中,我们将介绍如何在不同的 Linux 发行版上安装 GCC 编译器。 一、在 Ubuntu 上安装 GCC 1. 更新软件包…

numpy(史上最全)

目录 numpy简介 性能对比 ndarray属性 numpy中的数组: 几个创建的函数: 1) np.ones(shape, dtypeNone, orderC) shape: 形状,使用元组表示 2) np.zeros(shape, dtypefloat, orderC) 3) np.full(shape, fill_value, dtypeNone, orderC)…

阿里国际站运营工具 :一键提升你的全球竞争力!

在当今全球化的商业环境中,阿里巴巴国际站作为全球知名的B2B电子商务平台,为无数企业提供了一个展示产品、拓展国际市场的重要渠道。随着越来越多的企业加入到这个平台,如何在激烈的竞争中脱颖而出,成为了每个外贸人员必须面对的挑…

【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘

ModuleNotFoundError: No module named ‘requests‘ 目录 ModuleNotFoundError: No module named ‘requests‘ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身&a…

java-selenium 截取界面验证码图片并对图片文本进行识别

参考链接 1、需要下载Tesseract工具并配置环境变量&#xff0c;步骤如下 Tesseract-OCR 下载安装和使用_tesseract-ocr下载-CSDN博客 2、需要在IDEA中导入tess4j 包&#xff1b;在pom.xml文件中输入如下内容 <!--导入Tesseract 用于识别验证码--><dependency>&l…

SpringSecurity通用权限管理系统

1、介绍 权限管理是所有后台系统都会涉及的一个重要组成部分&#xff0c;而权限管理的核心流程是相似的&#xff0c;如果每个后台单独开发一套权限管理系统&#xff0c;就是重复造轮子&#xff0c;是人力的极大浪费&#xff0c;本项目就是针对这个问题&#xff0c;提供了一套通…

堆的相关特点

一.建堆的两种方法 给定一个数组&#xff0c;其中数组里面的元素个数是n个如何能够把这个数组建立成为一个堆&#xff0c;今天探讨两种方法&#xff0c;分别是向上调整法和向下调整法&#xff0c;分别探讨他们的时间复杂度 向上调整法&#xff08;以小堆为例&#xff09; 回…

【好玩的经典游戏】Docker环境下部署赛车小游戏

【好玩的经典游戏】Docker环境下部署赛车小游戏 一、小游戏介绍1.1 小游戏简介1.2 项目预览二、本次实践介绍2.1 本地环境规划2.2 本次实践介绍三、本地环境检查3.1 安装Docker环境3.2 检查Docker服务状态3.3 检查Docker版本3.4 检查docker compose 版本四、构建容器镜像4.1 下…

解决Visual studio内报错信息:MSB8036:找不到 Windows SDK 版本问题

问题描述&#xff1a; 找不到WindowsSDK版本&#xff0c;请安装所需版本的Windows SDK&#xff0c;或者在项目属性页中通过右键单击解决方案并选择“重定解决方案目标”来更改SDK版本。 首先&#xff0c;如果你尝试了以下两种方法&#xff1a; &#xff08;1&#xff09;重新…

深入理解Java 8的流式API:简化代码,提升效率

文章目录 深入理解Java 8的流式API&#xff1a;简化代码&#xff0c;提升效率一、流 Stream二、Int | Long | Double Stream三、收集器 Collectors 深入理解Java 8的流式API&#xff1a;简化代码&#xff0c;提升效率 Java 8引入了Stream API&#xff0c;它提供了一种新的抽象&…

String 和StringBuilder字符串操作快慢的举例比较

System.currentTimeMillis(); //当前时间与1970年1月1日午夜UTC之间的毫秒差。public class HelloWorld {public static void main(String[] args) {String s1 "";StringBuilder s2 new StringBuilder("");long time System.currentTimeMillis();long s…

Django Web框架~后台美化

1、执行命令 pip install django-simpleui 2、注册simpleui到项目中 3、访问http://127.0.0.1/admin/ 4、设置中文 5、收集admin静态文件 python manage.py collectstatic

Zookeeper入门篇,了解ZK存储特点

Zookeeper入门篇&#xff0c;了解ZK存储特点 前言一、为什么要用 Zookeeper&#xff1f;二、Zookeeper存储特色1. 树状结构2. 节点类型 三、存储位置1. 内存存储1. DataTree2. DataNode 2. 硬盘存储1. 事务日志2. 快照 前言 继上次说完 Zookeeper 的安装后&#xff0c;已经过去…

设计模式学习[2]---策略模式+简单工厂回顾

文章目录 前言1.简单工厂模式回顾2.策略模式3.策略模式简单工厂的结合总结 前言 上一篇讲到简单工厂模式。 在我的理解中工厂的存在就是&#xff0c;为了实例化对象。根据不同条件实例化不同的对象的作用。 这篇博客写的策略模式&#xff0c;可以说是把这个根据不同情况实例化…

pdf2docx - pdf 提取内容转 docx

文章目录 一、关于 pdf2docx主要功能限制 二、安装1、 PyPI2、从remote安装3、从源码安装4、卸载 三、转化 PDF例 1: convert all pages例 2: 转换指定页面例 3: multi-Processing例 4: 转换加密的pdf 四、提取表格五、命令行交互1、按页面范围2、按页码3、Multi-Processing 六…

使用Vue.js集成百度地图WebGL实现3D地图应用

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用Vue.js集成百度地图WebGL实现3D地图应用 应用场景介绍 本代码用于在Vue.js应用程序中集成百度地图WebGL&#xff0c;实现3D地图的可视化展示。它可以应用于各种场景&#xff0c;例如&#xff1a; 城市规…

助燃新质生产力,魔珐科技亮相IMC2024制造业数字科技大会展示有言AIGC视频工具价值

2024年7月19日&#xff0c;IMC2024第八届制造业数字科技大会在上海盛大开幕&#xff0c;本次大会以《向“智”而行》为主题&#xff0c;250智能制造行业数字化转型企业、行业领军者及实践者共聚一堂&#xff0c;共同助力企业增强技术“硬核力”&#xff0c;为新质生产力蓄势赋能…

【SpringBoot3】全局异常处理

【SpringBoot3】全局异常处理 一、全局异常处理器step1&#xff1a;创建收入数字的页面step2:创建控制器&#xff0c;计算两个整数相除step3:创建自定义异常处理器step5&#xff1a;创建给用提示的页面step6&#xff1a;测试输入&#xff08;10/0&#xff09; 二、BeanValidato…