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

HTML表单深度解析:GET 和 POST 提交方法

系列文章目录

01-从零开始学 HTML:构建网页的基本框架与技巧
02-HTML常见文本标签解析:从基础到进阶的全面指南
03-HTML从入门到精通:链接与图像标签全解析
04-HTML 列表标签全解析:无序与有序列表的深度应用
05-HTML表格标签全面解析:从基础到高级优化技巧
06-HTML表单深度解析:GET 和 POST 提交方法


文章目录

  • 系列文章目录
  • 前言
  • 一、HTML 表单的基本概念与元素
    • 1.1 表单概述
      • 1.1.1 `<form>` 元素
      • 1.1.2 常见的表单元素
      • 1.1.3 表单元素的属性与作用
    • 1.2 表单元素的基本使用
      • 1.2.1 `<input>` 的常见类型
      • 1.2.2 `<button>` 元素的使用
    • 1.3 表单验证
      • 1.3.1 HTML 表单验证功能
      • 1.3.2 自定义验证与反馈
  • 二、表单提交方法:GET 与 POST
    • 2.1 GET 与 POST 方法概述
      • 2.1.1 GET 方法
        • GET 方法的特点:
        • (1) GET 方法的优缺点
      • 2.1.2 POST 方法
        • POST 方法的特点:
        • (2) POST 方法的优缺点
    • 2.2 选择 GET 还是 POST?
      • 2.2.1 适用场景
        • (1) GET 方法的优缺点
        • (2) POST 方法的优缺点
      • 2.2.2 方法选择对比
  • 三、总结


前言

HTML 表单是 Web 开发中不可或缺的一部分,几乎所有的互动性网站都离不开表单的存在。无论是用户登录、注册,还是在线支付、搜索,表单都是实现这些功能的基础。掌握表单的基础知识,不仅能帮助开发者在短时间内完成表单设计,更能帮助他们深入理解如何通过表单与用户进行数据交互。本文将从最基础的表单元素入手,逐步讲解 HTML 表单的构建、常见元素的使用,以及数据提交的两种主要方式——GETPOST


一、HTML 表单的基本概念与元素

1.1 表单概述

HTML 表单是用户与网页进行交互的核心方式之一。它允许用户输入数据并将这些数据提交到服务器进行处理。表单的基础元素是 <form> 标签,通过它将各种输入控件包裹起来,并定义数据提交的方式和目标。

1.1.1 <form> 元素

<form> 标签用于定义一个表单,是所有表单元素的容器。它可以包含各种输入字段、按钮等表单元素,并通过设置 actionmethod 属性来控制表单的提交目标和方式。

  • action 属性:指定表单数据提交的服务器地址。
  • method 属性:定义表单数据的提交方式,常用的有 GETPOST

示例代码:

<form action="/submit" method="POST"><!-- 表单内容 -->
</form>

在上面的示例中,action="/submit" 表示表单数据将提交到 /submit 路径,method="POST" 则意味着数据通过 POST 方法提交。

1.1.2 常见的表单元素

表单中包含多个不同类型的输入元素,允许用户提供不同形式的数据。以下是一些常见的表单元素:

  • <input>:最常用的表单元素之一,用于文本输入、密码输入、复选框、单选按钮等。
  • <button>:按钮元素,可以用来提交表单或触发自定义 JavaScript 事件。
  • <textarea>:多行文本输入框,允许用户输入较长的文本。
  • <select><option>:下拉选择框,允许用户从多个选项中选择一个或多个。
  • <label>:标签元素,用于为输入字段提供描述。

示例代码:

<input type="text" name="username" placeholder="请输入用户名">
<button type="submit">提交</button>

这段代码展示了一个文本框和一个提交按钮,用户填写内容后,可以通过点击按钮提交表单。

1.1.3 表单元素的属性与作用

每个表单元素都有不同的属性,控制其行为和样式。常用的属性包括:

  • type:定义输入元素的类型,例如 textpasswordradiocheckbox 等。
  • name:为表单元素指定唯一的名称,提交时作为数据的键。
  • placeholder:提供一个占位符文本,提示用户输入内容。
  • required:标记表单字段为必填项,用户必须填写该字段才能提交表单。

示例代码:

<form action="/submit" method="POST"><label for="username">用户名:</label><input type="text" id="username" name="username" required placeholder="请输入用户名"><label for="password">密码:</label><input type="password" id="password" name="password" required placeholder="请输入密码"><button type="submit">登录</button>
</form>

在此代码中,<input> 元素用于接受用户名和密码,required 属性确保用户必须填写这两个字段才能提交表单。

1.2 表单元素的基本使用

1.2.1 <input> 的常见类型

<input> 元素的 type 属性定义了输入框的类型,根据不同的需求,我们可以选择不同的类型来处理不同的数据。以下是一些常见的类型:

  • type="text":单行文本框,用于接收用户输入的普通文本。
  • type="password":密码框,用于输入隐藏文本。
  • type="email":邮箱输入框,验证用户输入的是否是有效的邮箱格式。
  • type="number":数字输入框,用户只能输入数字。
  • type="radio":单选按钮,用于用户从多个选项中选择一个。
  • type="checkbox":复选框,用于用户选择一个或多个选项。

示例代码:

<input type="text" name="name" placeholder="请输入姓名">
<input type="email" name="email" placeholder="请输入电子邮件">
<input type="radio" name="gender" value="male"><input type="radio" name="gender" value="female">

上述代码展示了不同类型的输入框,允许用户输入不同的数据类型。

1.2.2 <button> 元素的使用

<button> 元素用于触发提交动作,或者在表单外部触发 JavaScript 事件。按钮有不同的类型,包括:

  • type="submit":触发表单提交,提交当前表单的数据。
  • type="reset":重置表单,清空所有表单字段的内容。
  • type="button":普通按钮,通常与 JavaScript 事件结合使用。

示例代码:

<button type="submit">提交</button>
<button type="reset">重置</button>

在这个例子中,type="submit" 按钮会提交表单,type="reset" 按钮则会清空表单中的内容。

1.3 表单验证

1.3.1 HTML 表单验证功能

HTML5 引入了一些内建的表单验证功能,帮助开发者快速验证用户输入的数据是否符合要求。常见的验证属性有:

  • required:表示该字段为必填项,用户必须填写才能提交表单。
  • pattern:定义输入的正则表达式,用于验证输入内容的格式。
  • minmax:定义输入数字的最小值和最大值。
  • maxlengthminlength:定义输入文本的最大长度和最小长度。

示例代码:

<form action="/submit" method="POST"><input type="text" name="username" required placeholder="请输入用户名"><input type="email" name="email" required placeholder="请输入电子邮件"><button type="submit">提交</button>
</form>

在这个例子中,required 属性确保用户填写用户名和电子邮件字段才能提交表单。

1.3.2 自定义验证与反馈

开发者还可以通过 JavaScript 来增强表单验证。例如,可以自定义验证规则,提示用户输入错误信息,或者在表单提交时对数据进行处理。

示例代码:

<form action="/submit" method="POST" onsubmit="return validateForm()"><input type="text" name="username" id="username" placeholder="请输入用户名"><button type="submit">提交</button>
</form><script>function validateForm() {var username = document.getElementById("username").value;if (username == "") {alert("用户名不能为空!");return false;}return true;}
</script>

这段代码在用户提交表单时验证用户名字段是否为空,如果为空则会弹出提示框,并阻止表单提交。


二、表单提交方法:GET 与 POST

2.1 GET 与 POST 方法概述

在 HTML 表单中,method 属性决定了表单数据的提交方式。常见的两种提交方式是 GETPOST,它们的主要区别在于数据的传递方式、用途及安全性。理解这两种方法的特点,能够帮助开发者根据实际需求选择合适的提交方式。

2.1.1 GET 方法

GET 方法是通过将表单数据附加到 URL 中的查询字符串来提交数据。当表单使用 GET 方法时,数据会显示在浏览器的地址栏中,这使得它适合传递少量的数据,且这些数据不涉及敏感信息。

GET 方法的特点:
  • 数据通过 URL 传递,浏览器会显示在地址栏中。
  • 适用于获取数据,且数据量较小。
  • 支持书签和缓存功能,方便重用查询链接。

示例代码:

<form action="/search" method="GET"><input type="text" name="query" placeholder="请输入搜索内容"><button type="submit">搜索</button>
</form>

在这个例子中,用户输入的搜索内容会通过 GET 方法附加到 URL 中,例如 /search?query=输入的搜索内容

(1) GET 方法的优缺点
  • 优点

    • 数据在 URL 中,方便书签保存和共享。
    • 数据量小,适合用于简单的查询操作。
    • 适合无关紧要的请求,例如简单的搜索。
  • 缺点

    • 数据暴露在 URL 中,不适合传输敏感信息。
    • URL 长度有限制,不适合传输大量数据。
    • 安全性较差,因为 URL 可以被查看和记录。

2.1.2 POST 方法

POST 方法通过 HTTP 请求体传输数据,表单数据不会出现在 URL 中,这使得 POST 方法比 GET 更加安全。POST 方法常用于提交敏感数据或较大规模的数据,如用户注册、登录、支付信息等。

POST 方法的特点:
  • 数据通过请求体传输,不显示在 URL 中。
  • 适用于提交大量数据或敏感数据。
  • 不支持书签或缓存,但比 GET 方法更安全。

示例代码:

<form action="/submit" method="POST"><input type="text" name="username" placeholder="请输入用户名"><input type="password" name="password" placeholder="请输入密码"><button type="submit">登录</button>
</form>

在这个例子中,用户输入的用户名和密码通过 POST 方法提交,这些数据不会显示在 URL 中,从而增加了安全性。

(2) POST 方法的优缺点
  • 优点

    • 数据通过请求体传输,更加安全,适合传输敏感信息。
    • 没有 URL 长度的限制,适合传输较大数据。
    • 不会暴露数据,保护用户隐私。
  • 缺点

    • 数据无法通过 URL 分享或保存为书签。
    • 不适用于快速搜索或展示简单数据,通常用于修改或提交数据。

2.2 选择 GET 还是 POST?

2.2.1 适用场景

选择 GET 还是 POST 主要取决于表单的用途和提交的数据类型:

  • GET 方法:适用于获取资源,且提交的数据量较小,通常不包含敏感信息。例如,搜索框、页面过滤器、网址导航等场景。
  • POST 方法:适用于提交大量数据或涉及敏感信息的操作,如用户登录、注册、支付等场景。
(1) GET 方法的优缺点
  • 适用场景:适用于无需保密的简单查询和检索操作。
  • 使用示例
    • 搜索框:用户输入查询内容并提交,查询结果会在 URL 中显示。
    • 页面过滤:如分页、排序等,提交的参数不会暴露为敏感信息。
(2) POST 方法的优缺点
  • 适用场景:适用于数据提交,尤其是涉及敏感信息或大量数据的情况。
  • 使用示例
    • 用户注册:提交用户名、密码、邮箱等敏感信息。
    • 登录:提交用户名和密码以验证身份。
    • 支付信息:提交银行卡号、验证码等敏感数据。

2.2.2 方法选择对比

根据实际场景选择表单提交的方法:

  • 对于数据查询等不涉及隐私或安全性的操作,使用 GET 方法更方便,因为它支持书签保存、URL 共享。
  • 对于提交敏感信息或大量数据的场景,使用 POST 方法能够更好地保护用户数据,避免暴露在 URL 中。

总结:

  • GET:适合获取资源、不涉及敏感信息的操作。优点是可以通过 URL 共享,缺点是安全性差,且数据量有限。
  • POST:适合提交数据、尤其是敏感信息。优点是安全性高、数据量大,缺点是不能通过 URL 共享。

三、总结

本文介绍了 HTML 表单的基本概念、常见元素以及表单的提交方法,具体总结如下:

  1. HTML 表单的基本概念与元素

    • 表单的核心元素是 <form>,它作为表单的容器,包裹各种输入元素,决定数据提交的目标和方式。
    • 常见的表单元素包括 <input><button><textarea><select>,它们分别用于不同类型的数据输入。
    • 每个表单元素都有独特的属性,如 nametypeplaceholder,帮助我们定制用户输入的方式和界面显示。
  2. 表单的验证与操作

    • HTML5 提供了多种内建的表单验证功能,如 requiredpatternmaxlength 等,可以帮助开发者快速实现基本的数据验证。
    • 通过 JavaScript,可以进一步自定义表单验证逻辑,增强用户体验。
  3. 表单提交方法:GET 与 POST

    • GET 方法通过将数据附加在 URL 上提交,适用于简单的查询和数据获取,但不适合提交敏感数据。
    • POST 方法通过 HTTP 请求体传输数据,适用于提交敏感信息和大量数据,具有更高的安全性。
  4. 选择合适的提交方法

    • 根据数据的类型和安全性要求,开发者应该选择合适的提交方式。GET 适用于查询操作,POST 适用于数据提交和敏感信息的传输。

相关文章:

HTML表单深度解析:GET 和 POST 提交方法

系列文章目录 01-从零开始学 HTML&#xff1a;构建网页的基本框架与技巧 02-HTML常见文本标签解析&#xff1a;从基础到进阶的全面指南 03-HTML从入门到精通&#xff1a;链接与图像标签全解析 04-HTML 列表标签全解析&#xff1a;无序与有序列表的深度应用 05-HTML表格标签全面…...

CycleGAN模型解读(附源码+论文)

CycleGAN 论文链接&#xff1a;Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks 官方链接&#xff1a;pytorch-CycleGAN-and-pix2pix 老规矩&#xff0c;先看看效果 总体流程 先简单过一遍流程&#xff0c;细节在代码里说。CycleGAN有…...

WebAssembly(Wasm)详解

WebAssembly 详解&#xff1a;开启 Web 应用的新纪元 引言 WebAssembly&#xff08;简称 Wasm&#xff09;是一种革命性的技术&#xff0c;它为 Web 应用带来了接近原生的性能&#xff0c;并支持使用多种编程语言进行开发。本文将深入探讨 WebAssembly 的方方面面&#xff0c…...

基于物联网设计的疫苗冷链物流监测系统

一、前言 1.1 项目开发背景 随着全球经济的发展和物流行业的不断创新&#xff0c;疫苗和生物制品的运输要求变得越来越高。尤其是疫苗的冷链物流&#xff0c;温度、湿度等环境因素的控制直接关系到疫苗的质量和效力&#xff0c;因此高效、可靠的冷链监控系统显得尤为重要。冷…...

RabbitMQ 多种安装模式

文章目录 前言一、Windows 安装 RabbitMq1、版本关系2、Erlang2.1、下载安装 Erlang 23.12.2、配置 Erlang 环境变量 3、RabbitMQ3.1、下载安装 RabbitMQ 3.8.93.2、环境变量3.3、启动RabbitMQ 管理插件3.3、RabbitMQ3.4、注意事项 二、安装docker1、更新系统包&#xff1a;2、…...

视频拼接,拼接时长版本

目录 视频较长&#xff0c;分辨率较大&#xff0c;这个效果很好&#xff0c;不耗用内存 ffmpeg imageio&#xff0c;适合视频较短 视频较长&#xff0c;分辨率较大&#xff0c;这个效果很好&#xff0c;不耗用内存 ffmpeg import subprocess import glob import os from nats…...

【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解

Linux学习笔记&#xff1a; https://blog.csdn.net/2301_80220607/category_12805278.html?spm1001.2014.3001.5482 前言&#xff1a; 前面我们已经将进程通信部分讲完了&#xff0c;现在我们来讲一个进程部分也非常重要的知识点——信号&#xff0c;信号也是进程间通信的一…...

有限元分析学习——Anasys Workbanch第一阶段笔记梳理

第一阶段笔记主要源自于哔哩哔哩《ANSYS-workbench 有限元分析应用基础教程》 张晔 主要内容导图&#xff1a; 笔记导航如下&#xff1a; Anasys Workbanch第一阶段笔记(1)基本信息与结果解读_有限元分析变形比例-CSDN博客 Anasys Workbanch第一阶段笔记(2)网格单元与应力奇…...

【YOLOv11改进- 注意力机制】YOLOv11+SCSA注意力机制(2024): 最新空间和通道协同注意力,助力YOLOv11有效涨点;包含二次创新

YOLOV11目标检测改进实例与创新改进专栏 专栏地址:YOLOv11目标检测改进专栏,包括backbone、neck、loss、分配策略、组合改进、原创改进等; 本文介绍 本文给大家带来的改进内容是在YOLOv11中添加SCSA注意力机制,助力有效涨点。作者提出了一种新的空间与通道协同注意模块(S…...

科技快讯 | 理想官宣:正式收费!WeChat 港币钱包拓宽商户网络;百川智能发布深度思考模型Baichuan-M1-preview

理想官宣&#xff1a;正式收费&#xff01; 1月23日&#xff0c;理想汽车宣布&#xff0c;理想超充站超时占用费正式运营。触发超时占用费的条件为充电结束后15分钟内未将充电枪插回充电桩&#xff0c;收费标准为2元/分钟&#xff0c;单次封顶200元。理想汽车将在充电结束的四个…...

LLM架构与优化:从理论到实践的关键技术

标题&#xff1a;“LLM架构与优化&#xff1a;从理论到实践的关键技术” 文章信息摘要&#xff1a; 文章探讨了大型语言模型&#xff08;LLM&#xff09;开发与应用中的关键技术&#xff0c;包括Transformer架构、注意力机制、采样技术、Tokenization等基础理论&#xff0c;以…...

深入理解Pytest中的Setup和Teardown

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 对于简单程序而言&#xff0c;使用 Pytest 运行测试直截了当。然而&#xff0c;当你…...

PostgreSQL 约束

PostgreSQL 约束 引言 在数据库设计中,约束是确保数据完整性和一致性的关键工具。PostgreSQL,作为一款功能强大的开源关系型数据库管理系统,提供了丰富的约束类型来满足不同的数据库设计需求。本文将详细介绍PostgreSQL中的各种约束,包括其定义、用途和实现方法。 一、约…...

JAVA 接口、抽象类的关系和用处 详细解析

接口 - Java教程 - 廖雪峰的官方网站 一个 抽象类 如果实现了一个接口&#xff0c;可以只选择实现接口中的 部分方法&#xff08;所有的方法都要有&#xff0c;可以一部分已经写具体&#xff0c;另一部分继续保留抽象&#xff09;&#xff0c;原因在于&#xff1a; 抽象类本身…...

【微服务与分布式实践】探索 Dubbo

核心组件 服务注册与发现原理 服务提供者启动时&#xff0c;会将其服务信息&#xff08;如服务名、版本、所在节点的网络地址等&#xff09;注册到注册中心。服务消费者则可以从注册中心发现可用的服务提供者列表&#xff0c;并与之通信。注册中心会存储服务的信息&#xff0c…...

lightweight-charts-python 包 更新 lightweight-charts.js 的方法

lightweight-charts-python 是 lightweight-charts.js 的 python 包装&#xff0c;非常好用 lightweight-charts 更新比较频繁&#xff0c;导致 lightweight-charts-python 内置的 lightweight-charts 经常不是最新的。 新的 lightweight-charts 通常可以获得性能改进和bug修复…...

作業系統:設計與實現-母本

2023 南京大學《作業系統:設計與實現》 課程主頁(含講義):https://jyywiki.cn/OS/2023/ 【Python 实现操作系统模型 [南京大学2023操作系统-P4] (蒋炎岩)-哔哩哔哩】 https://b23.tv/jakxDbh 用Python实现操作系统模型讲义 一、操作系统基础概念 1.1 定义 操作系统(Oper…...

穿心莲内酯(andrographolide)生物合成CYP72-文献精读106

Two CYP72 enzymes function as Ent-labdane hydroxylases in the biosynthesis of andrographolide in Andrographis paniculata 两种CYP72酶在穿心莲&#xff08;Andrographis paniculata&#xff09;中作为Ent-labdane羟化酶&#xff0c;在穿心莲内酯&#xff08;andrograp…...

IDM-VTON本地部署教程:双重编码 + 文字提示,解锁真实野外试穿

一、介绍 IDM-VTON&#xff1a;改进扩散模型&#xff0c;实现真实的野外虚拟试穿。 技术原理&#xff1a;改进扩散模型&#xff0c;利用视觉编码器提取服装高级语义信息并与交叉注意力层融合&#xff0c;通过并行 UNet 结构的 GarmentNet 捕捉服装低级特征并与自注意力层结合&…...

【微服务与分布式实践】探索 Sentinel

参数设置 熔断时长 、最小请求数、最大RT ms、比例阈值、异常数 熔断策略 慢调⽤⽐例 当单位统计时⻓内请求数⽬⼤于设置的最⼩请求数⽬&#xff0c;并且慢调⽤的⽐例⼤于阈值&#xff0c;则接下来的熔断时⻓内请求会⾃动被熔断 异常⽐例 当单位统计时⻓内请求数⽬⼤于设置…...

云计算与虚拟化技术讲解视频分享

互联网各领域资料分享专区(不定期更新)&#xff1a; Sheet 前言 由于内容较多&#xff0c;且不便于排版&#xff0c;为避免资源失效&#xff0c;请用手机点击链接进行保存&#xff0c;若链接生效请及时反馈&#xff0c;谢谢~ 正文 链接如下&#xff08;为避免资源失效&#x…...

[c语言日寄]越界访问:意外的死循环

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…...

数据结构---哈希表

基本概念 哈希函数&#xff08;Hash Function&#xff09;是一种将输入的数据&#xff08;通常是任意大小的&#xff09;映射到固定大小的输出&#xff08;通常是一个固定长度的值&#xff09;的函数。这个输出值通常称为“哈希值”&#xff08;Hash Value&#xff09;或“哈希…...

【C语言----数组详解】

目录 ---------------------------------------begin--------------------------------------- 一、什么是数组 二、数组的声明和初始化 1. 数组的声明 2. 数组的初始化 三、数组元素的访问 四、数组的遍历 五、数组的应用 六、多维数组 七、总结 --------------------…...

C语言字符串详解

1. C语言中的字符串基础 C语言中的字符串是程序设计中不可忽视的部分。与现代高级编程语言不同&#xff0c;C语言对字符串的处理方式直接、灵活&#xff0c;并且强大。在C语言中&#xff0c;字符串并不是一种特殊的数据类型&#xff0c;而是字符数组的一种表现形式。字符串通常…...

基础IO(2)

基础IO&#xff08;2&#xff09; 理解“⼀切皆⽂件” ⾸先&#xff0c;在windows中是⽂件的东西&#xff0c;它们在linux中也是⽂件&#xff1b;其次⼀些在windows中不是⽂件的东西&#xff0c;⽐如进程、磁盘、显⽰器、键盘这样硬件设备也被抽象成了⽂件&#xff0c;你可以使…...

深入理解 Python 中的 `__all__`:控制模块的公共接口

在 Python 编程中&#xff0c;模块化设计是构建可维护和可扩展代码的关键。模块不仅帮助我们组织代码&#xff0c;还能通过隐藏实现细节来提高代码的可读性和安全性。Python 提供了多种机制来控制模块的可见性&#xff0c;其中 __all__ 是一个非常重要但常被忽视的特性。本文将…...

Python面试宝典7 | 正则表达式的match()与search(),精准匹配与全局搜索

今天&#xff0c;我们来聊聊Python正则表达式中两个常用的方法&#xff1a;match()和search()。它们都用于在字符串中查找匹配的模式&#xff0c;但有着重要的区别。 理论篇&#xff1a;匹配的起始位置 match()和search()最主要的区别在于它们匹配的起始位置&#xff1a; ma…...

代码随想录算法训练营第三十八天-动态规划-完全背包-279.完全平方数

把目标值当作背包容量&#xff0c;每个平方数当作物品&#xff0c;题目变更为装满指定容量的背包&#xff0c;最小用几个物品会不会出现拼凑不出来的情况&#xff1f;不会&#xff0c;因为有数字1&#xff0c;对任意正整数百分百能拼凑出来因此此题目与上一道题就变得一模一样了…...

996引擎 - NPC-添加NPC引擎自带形象

996引擎 - NPC-添加NPC引擎自带形象 截图参考添加NPC参考资料截图参考 添加NPC 编辑NPC表:Envir\DATA\cfg_npclist.xls 1.1. 需要临时隐藏NPC时可以在id前加 // 1.2. 如果NPC朝向不对,可以调整dir 列。(按8方向,上是0顺时针数。我这里给的4) 1.3. 形象代码:NPC代码、怪物…...

基于 NodeJs 一个后端接口的创建过程及其规范 -- 【elpis全栈项目】

基于 NodeJs 一个后端接口的创建过程及其规范 一个接口的诞生&#xff1a; #mermaid-svg-46HXZKI3fdnO0rKV {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-46HXZKI3fdnO0rKV .error-icon{fill:#552222;}#mermaid-sv…...

笔记本跑大模型尝试

1&#xff0c;笔记本电脑资源 我是一台联想笔记本电脑&#xff0c;基本配置如下&#xff1a; CPU&#xff1a;12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz (12核心&#xff0c;2个P核和8个E核&#xff0c;共计10个核心) 显卡&#xff1a;NVIDIA GeForce MX550 内存&am…...

[论文阅读] (37)CCS21 DeepAID:基于深度学习的异常检测(解释)

祝大家新春快乐&#xff0c;蛇年吉祥&#xff01; 《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0…...

常见端口的攻击思路

端口号端口说明攻击方向21/22/69FTP/TFTP文件传输协议匿名上传/下载、嗅探、爆破2049NFS服务配置不当139Sanba服务爆破、远程代码执行389Ldap目录访问协议注入、匿名访问、弱口令22SSH远程连接爆破、SSH映射隧道搭建、文件传输23Telnet远程连接爆破、嗅探、弱口令3389RDP远程桌…...

复古壁纸中棕色系和米色系哪个更受欢迎?

根据最新的搜索结果&#xff0c;我们可以看到棕色系和米色系在复古壁纸设计中都非常受欢迎。以下是对这两种颜色系受欢迎程度的分析&#xff1a; 棕色系 受欢迎程度&#xff1a;棕色系在复古壁纸中非常受欢迎&#xff0c;因为它能够营造出温暖、质朴和自然的氛围。棕色系的壁纸…...

RocketMQ消息是如何存储的?

大家好&#xff0c;我是锋哥。今天分享关于【RocketMQ消息是如何存储的&#xff1f;】面试题。希望对大家有帮助&#xff1b; RocketMQ消息是如何存储的&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 RocketMQ 使用了一个高性能、分布式的消息存储架构…...

在FreeBSD下安装Ollama并体验DeepSeek r1大模型

在FreeBSD下安装Ollama并体验DeepSeek r1大模型 在FreeBSD下安装Ollama 直接使用pkg安装即可&#xff1a; sudo pkg install ollama 安装完成后&#xff0c;提示&#xff1a; You installed ollama: the AI model runner. To run ollama, plese open 2 terminals. 1. In t…...

[250128] Apache HTTP Server 2.4.63 发布 | Arm 发布首个芯片系统架构的公开规范

目录 Apache HTTP Server 2.4.63 发布&#xff0c;十五年创新成果&#xff01;Arm 发布首个芯片系统架构的公开规范 Apache HTTP Server 2.4.63 发布&#xff0c;十五年创新成果&#xff01; Apache 软件基金会和 Apache HTTP Server 项目组自豪地宣布 Apache HTTP Server 2.4…...

为什么要学习rust

内存管理&#xff1a;对于我来说&#xff0c;我就喜欢它的内存管理。我做了一个webapi&#xff0c;取100万行数据&#xff0c;导出到xlsx&#xff0c;再把这个xlsx文件发送给前端。分别用了java、c#、go和rust进行了相同的操作。只有rust做到了&#xff0c;启动时8MB内存&#…...

Linux进程调度与等待:背后的机制与实现

个人主页&#xff1a;chian-ocean 文章专栏-Linux 前言&#xff1a; 当一个进程发起某种操作&#xff08;如I/O请求、信号、锁的获取等&#xff09;&#xff0c;但该操作需要的资源暂时不可用时&#xff0c;进程会被操作系统挂起&#xff0c;进入“等待队列”或“阻塞状态”。…...

Linux任务管理与守护进程

文章目录 &#x1f345;任务管理进程组概念作业概念会话概念相关操作前台进程&后台进程jobsfgbgps命令查看指定的选项 &#x1fad2;守护进程守护进程的概念作用守护进程的查看守护进程的创建原生创建守护进程调用daemon函数创建守护进程模拟实现daemon函数 &#x1f345;任…...

《Trustzone/TEE/安全从入门到精通-标准版》

CSDN学院课程连接:https://edu.csdn.net/course/detail/39573 讲师介绍 拥有 12 年手机安全、汽车安全、芯片安全开发经验,擅长 Trustzone/TEE/ 安全的设计与开发,对 ARM 架构的安全领域有着深入的研究和丰富的实践经验,能够将复杂的安全知识和处理器架构知识进行系统整…...

java 字符串日期字段格式化前端显示

在 Java 应用程序中&#xff0c;如果你有一个字符串类型的日期字段&#xff0c;并希望将其格式化后显示在前端&#xff0c;可以通过多种方式实现。这通常涉及到在后端将字符串转换为 Date 或 LocalDateTime 等对象&#xff0c;然后使用适当的注解或配置来确保它们以正确的格式序…...

LabVIEW橡胶动态特性测试系统

本文介绍了一个利用LabVIEW软件和NI高速数据采集设备构建的橡胶动态特性测试系统。该系统实现了橡胶材料动态性能的精确测量&#xff0c;并通过虚拟仪器技术&#xff0c;提高了测试数据的处理效率和准确性。系统支持实时数据处理和多种信号的动态分析&#xff0c;适用于工业和科…...

deepseek-r1 本地部署

deepseek 最近太火了 1&#xff1a;环境 win10 cpu 6c 内存 16G 2: 部署 1>首先下载ollama 官网&#xff1a;https://ollama.com ollama 安装在c盘 模型可以配置下载到其他盘 OLLAMA_MODELS D:\Ollama 2>下载模型并运行 ollama run deepseek-r1:<标签> 1.5b 7b 8…...

28. 【.NET 8 实战--孢子记账--从单体到微服务】--简易报表--报表定时器与报表数据修正

这篇文章是《.NET 8 实战–孢子记账–从单体到微服务》系列专栏的《单体应用》专栏的最后一片和开发有关的文章。在这片文章中我们一起来实现一个数据统计的功能&#xff1a;报表数据汇总。这个功能为用户查看月度、年度、季度报表提供数据支持。 一、需求 数据统计方面&…...

具身智能技术趋势

参考&#xff1a; 【北京大学-董豪】具身智能技术趋势分析 2024.8 回答了具身智能技术G3、G4的必要性&#xff0c;以及真实数据、仿真数据、互联网数据之间的关系 具身智能趋势 趋势&#xff1a;寻求一个通用路径实现所有的上肢操作 要求&#xff1a;① 低成本 ② 拓展到所有…...

JavaScript逆向高阶指南:突破基础,掌握核心逆向技术

JavaScript逆向高阶指南&#xff1a;突破基础&#xff0c;掌握核心逆向技术 JavaScript逆向工程是Web开发者和安全分析师的核心竞争力。无论是解析混淆代码、分析压缩脚本&#xff0c;还是逆向Web应用架构&#xff0c;掌握高阶逆向技术都将助您深入理解复杂JavaScript逻辑。本…...

C#面试常考随笔6:ArrayList和 List的主要区别?

在 C# 中&#xff0c;ArrayList和List<T>&#xff08;泛型列表&#xff09;都可用于存储一组对象。推荐优先使用List<T>&#xff0c;因为它具有更好的类型安全性、性能和语法简洁性&#xff0c;并且提供了更丰富的功能。只有在需要与旧代码兼容或存储不同类型对象的…...

【数据结构】 并查集 + 路径压缩与按秩合并 python

目录 前言模板朴素实现路径压缩按秩合并按树高为秩按节点数为秩 总结 前言 并查集的基本实现通常使用森林来表示不同的集合&#xff0c;每个集合用一棵树表示&#xff0c;树的每个节点有一个指向其父节点的指针。 如果一个节点是它自己的父节点&#xff0c;那么它就是该集合的代…...