JAVA EE_HTTP
为什么意气风发的少年,总是听不进去别人的劝解。
----------陳長生.
❀主页:陳長生.-CSDN博客❀
📕上一篇:JAVA EE_网络原理_数据链路层-CSDN博客
1.HTTP
1.1.HTTP是什么
HTTP的中文名为超文本传输协议,是一种常用的应用层协议
1.2.HTTP工作过程
2.HTTP协议格式
HTTP是一种文本协议的格式,我们可以通过一些抓包软件来查询响应的请求和响应信息,例如Fibble
2.1.抓包工具Fibbler
可以把Fibbler理解为一个代理,他可以帮客户端进行操作。
举个栗子:
假设有一个辣条工厂,这给厂做了很多辣条,当时单单靠老板自己卖不完,于是他找到了张三,李四,王五等人来帮他出售,这些人就可以称为代理,也就是正向代理。
于此同时,购买的人需要买这些辣条,但是他们不想自己买,找了人来替买,,这些被找来的人也可以称为代理,也就是反向代理。
2.1.1.下载地址
Web Debugging Proxy and Troubleshooting Tools | Fiddler
2.1.2.配置环境
由于大部分网站都是https,但是fibbler中默认没显示https内容,所有我们需要手动勾选一下。
2.2.如何使用
2.2.1.删除
点击想要删除的包信息,在点击键盘上的DEL
2.2.2.查看请求/响应信息
点击想要查看的包,在右边寻找ROW属性值,上面一个就代表包的请求信息,而下面的就为包的请求信息
我们可以点击右下角的View in Notepad 查看文本内容的请求/响应内容
2.3.查看请求/响应内容
2.3.1.请求内容
- 第一行为请求行
- 从第二行开始到空一行的位置为请求报头
- 空行代表请求头结束
- 空行下面如果有内容那么就是请求正文(有的请求有,有的请求没有)
2.3.2.响应内容
- 第一行为响应行
- 从第二行开始到空一行的位置为响应报头
- 空行代表响应头结束
- 空行下面内容为响应正文
3.HTTP请求
3.1.URL
URL中最重要的为IP,端口号,路径,查询字符串。
一般我们用网址来查找网页的时候,只需要输入www.xxxx.com(例如百度:www.baudu.com)即可了,那么上面的一串URL怎么还需要那么多属性,其实是被省略掉了。
- 协议:可以省略,默认下URL前面都会加个http
- 登录信息:可以省略,这一个值是运用在几十年前的,现在已经不在URL中显示了
- 端口号:可以省略,如果没有给端口号赋值的话,会默认给80端口号,如果是https的话会给443端口号
- 带层次的文件路径:可以省略
- 查询字符串:可以省略
- 片段标识符:可以省略
3.1.1.键值对
在上面一串URL中,问号后面的查询字符串那段可以称为键值对,键值对是由程序员自己定义的,意思一般只有自己懂。
以百度为例,红色框中的内容都为键值对
3.2.GTE
表示获取数据,位于请求行的首位
3.2.1.出现情况
- 直接在浏览器输入URL连接
- 点击超文本传输连接
- 加载图片
3.2.2.特点
- 一般没有body内容
- 要想传输数据要通过query string
3.3.POST
表示上传数据,位于请求行的首位
3.3.1.出现情况
- 用户登录
- 上传资源
3.2.2.特点
- 有body,一般传输数据直接使用body
3.4.GET与POST
3.4.1.区别
- GET用于获取,POST用于上传
- GET一般没有body,要想传输数据需要通过query string
- POST直接通过body传输
3.4.2.判别网络流言
- 1流言:POST比GET更安全,原因是POST的内容是在body里,而GET的内容是在URL上;
- 1解析:错误,谈到安全那肯定得想到加密,如果POST和GET的内容都没有加密,那么黑客通过抓包,不管是POST还是GET,都可以获取到其中的信息。
- ---------------------------------------------------------------------------------------------------------------------------
- 2流言:POST请求的数据量比GET请求的数据量大
- 2解析:错误,这是在很早之前的浏览器上的限制了,当时的技术并不发达,传输的自然就少了,随着技术的不断更新换代,这种说法早已被淘汰了,而且http中并没有限制请求数据的大小。
- ---------------------------------------------------------------------------------------------------------------------------
- 3流言:GET官方建议幂相等,POST则没有
- 3解析:差不多是对的,官方建议是建议,但是并没有强制实施,所以程序员可以不遵守该规则。
- 幂相等:请求一定,响应一定,假设申请一个百度的浏览器,那么返回的界面也是百度。
3.5.请求报头
以下是一些常见的报头类型
3.5.1.Host
表示当前请求报头的域名和端口号
3.5.2.Content-Length
表示当前请求正文的长度(单位:字节)
3.5.3.User-Agent
表示当前客户端是什么类型(爬虫/浏览器/客户端)
也可以根据当前使用的机子(PC端/手机端)显示合适的页面
3.5.4.content-type
表示当前的数据格式
3.5.5.Referer
表示当前的请求数据是有哪个网址跳转的
3.5.6.Cookie
以键值对的形式表示(使用“;”分割多个键值对,“=”分割键和值)
cookie本质上是浏览器在本地存储数据的一种形式
众所周知,在浏览器中向服务器访问是有风险的,但是浏览器会提供一个方案,那就是cookie,cookie中的内容,其实是服务器给浏览器的,浏览器会把cookie保存在本地硬盘上,为了安全,不允许网站随意访问硬盘,而是只是按照“键值对”方式来存储简单数据。
cookie的作用就是保存一些不怎么重要的,但是有用的信息,例如“上次访问时间”,同时它也是一种保护用户身份的表示。
关于sessionld:
sessionld是会话id,用来标识当前浏览器的身份。
举个栗子:
长生是A公司厂库的管理员,它有一张身份卡,这张身份卡中只记录了长生这个人,长生可以用这张卡自由进出A公司厂库的各个地方,但是他要是想去B公司厂库里乱逛,那肯定是不行的。
回过来,sessionld就代表着身份卡,记录着长生这个人,至于他的身高年龄等各属性是由cookid来存储的。
4.HTTP请求
4.1.状态码
4.1.1.200开头
表示响应正常
200:访问成功
4.1.2.300开头
重定向
指客户端访问一个URL时,它自动跳转到另一个URL
301:永久重定向
例如:网站 http://aaa.com 的http升级,永久变为 https://aaa.com
302:临时重定向
例如:登录一些网站后,自动跳转到个人主页
4.1.3.400开头
表示客户端出现问题
404:客户端要访问的资源不存在
403:访问被拒绝(没有权限)
4.1.4.500开头
表示服务端出现问题
500:服务器临时故障
502:网关没有从服务器上获取有效响应
504:当处理的数据量过大时或网络延时以及服务堵塞,就可能会造成超时异常
5.HTTPS
5.1.HTTPS是什么
HTTPS是根据HTTP协议为基础进行一个升级,使其更安全
5.2.加密是什么
明文:任何人都能看得懂的
密文:明文通过加密,得到密文
假设小美提前跟长生说,都会把你看到的单词内容,从第二个单词开始,把每个字母的前一个字母或数字都去掉再读,过了一会小美写好了小纸条(TI ULEOAV0E 9Yooku),让旁边的同学传给了长生,传纸条的同学都瞄了一眼内容,但是看不懂,传到长生那的时候,长生按小美之前说的话开始解读字条内容,解读到(I LOVE You)~~
上诉中,小美跟长生将的话就为密钥,而小美所做的就为加密,其他人都看不懂,只有她和长生能看的懂。
5.3.HTTPS的工作原理
由于再互联网上明文传输信息很危险,所以数据都会进行加密传输
而加密的方式有很多,可以分为“对称加密”和“非对称加密”
5.3.1.对称加密
对称加密就是使用同一个密钥进行传输
使用密文传输,黑客即使截获数据也不知道内容,但真的是这样吗?
如果有多台客户端与服务器进行数据传输,那么多台的客户端的密钥肯定都是不相同的(如果都是相同的密钥,如果黑客直到了其中一台客户端的密钥,其他的客户端也就都遭殃了),既然是不同的密钥,那么服务器要维护那么多密钥是很麻烦的,所以比较理想的做法就是在传输前告知服务器密钥是什么
但是,如果在传输前告知服务器本次传输的密钥是什么,由于该条信息是明文传输的,所以黑客也能知道密钥是什么,那之后传输的数据黑客也能通过密钥破解,就跟明文传输没什么区别的,所以https引用了“非对称加密”
5.3.2.非对称加密
非对称加密就是使用两把钥,公钥(pub1)和私钥(pri1)
公钥:所有人都拿的到,可以理解为锁
私钥:只有之间有,可以理解为钥匙
客户端通过公钥pub1将密钥进行加密传输给服务端,服务端根据私钥进行解密得到密钥,之后就使用对称加密进行传输
为什么使用对称加密:
因为非对称加密的运算速度是非常慢的,于是就需要非对称加密和对称加密联合使用
5.3.3.中间人攻击
但是即使是使用了非对称加密,黑客还是有办法进行攻击,就比如“中间人攻击”
由于公钥是服务端发布给客户端的,所以黑客也能够拿到,如果黑客截获信息,篡改公钥,客户端就收到黑客的公钥,使用黑客的公钥进行数据传输,那么黑客就能根据自己的公钥破解该条信息
5.3.4.证书
为了防止这种“中间人攻击”的出现,于是https就引用了证书
证书是在计算机出厂的时候就在操作系统里的,里面有一系列的信息
证书的有效期
证书的所有者
证书对应服务器的地址/域名
数字签名
开启一段会话的时候,服务器会向公证机构申请证书,证书中的各种信息就会以字符串的形式表示出来,当数据发送到客户端的时候,客户端就会判断该证书是否为真。
5.3.5.数字签名
公证机构发布证书后,会对该证书生成校验和
公证机构会拿着自己生成的非对称密钥对(pbu2/pri2),使用其中的私钥pri3对校验和进行加密,就得到了数字签名
数字签名的验证:
客户端拿到证书后,会对该证书进行校验和计算,拿到check1,然后再时候公证机构的pub2对证书中的数字签名进行解密,得到check2,如果相等,则信任该信息,如果黑客再其中篡改了证书中的内容,则不会相等,浏览器就会对用户进行提示“该网站存在风险”
黑客是否能通过其他操作进行攻击:
1>能否篡改公钥
答:不能,一旦篡改了,check1和check2就对应不上
2>能否直接做一个证书
答:不能,证书中包含了服务器的地址/渔民,浏览器很容易识别出来
3>能否在篡改公钥的同时,将数字签名也改了
答:不能,数字签名是通过私钥加密的,黑客拿不到
4>客户端如何拿到公证机构的公钥,黑客是否能伪造公证机构的公钥
答:公证机构的公钥不是从网络上获得的,而是内置在操作系统里,所以黑客是伪造不了的
相关文章:
JAVA EE_HTTP
为什么意气风发的少年,总是听不进去别人的劝解。 ----------陳長生. ❀主页:陳長生.-CSDN博客❀ 📕上一篇:JAVA EE_网络原理_数据链路层-CSDN博客 1.HTTP 1.1.HTTP是什么 H…...
SEO 优化实战:ZKmall模板商城的 B2C商城的 URL 重构与结构化数据
在搜索引擎算法日益复杂的今天,B2C商城想要在海量信息中脱颖而出,仅靠优质商品和营销活动远远不够。ZKmall模板商城以实战为导向,通过URL 重构与结构化数据优化两大核心策略,帮助 B2C 商城实现从底层架构到搜索展示的全面升级&…...
使用HtmlAgilityPack采集墨迹天气中的天气数据
需要解析对应的HTML源码: <div class"left"><div class"wea_alert clearfix"><ul><li><a href "https://tianqi.moji.com/aqi/china/jiangxi/hukou-county" >< span class"level level_2&qu…...
广和通L610模块通过AT指令访问服务器方案:嵌赛使用
实现步骤及关键点: 网络连接配置 ATCGDCONT1,"IP","APN名称" // 设置APN ATCGACT1,1 // 激活PDP上下文 ATCGATT1 // 附着GPRS网络 HTTP协议支持验证 L610支持HTTP客户端功能,关键指…...
nodejs快速入门到精通1
参考 nodejs快速入门到精通 菜鸟教程-nodejs nodejs官方文档 原因 视频免费 资料收费 笔记还是自己写吧 安装 nodejs官网 windows下: #查看nodejs版本 node -v #查看npm版本 npm -v #设置npm为淘宝镜像源 npm config set registry https://registry.npmmirror.…...
Linux下软件安装
一、软件安装方式 在 Linux 系统中,常见的软件安装方式有以下几种: 包管理器安装(如 yum、apt) 这是最便捷的安装方式,通过系统自带的包管理器从官方软件源下载并安装软件。 # CentOS/RHEL系统使用yum安装 yum insta…...
React Fiber 架构深度解析:时间切片与性能优化的核心引擎
文章目录 前言一、Fiber 架构的诞生背景二、Fiber 架构的核心概念1. Fiber 节点2. Fiber 节点的结构3. 双缓存机制4. 增量渲染与优先级调度 三、时间切片技术详解1. 时间切片的定义与原理2. 时间切片与 JavaScript 事件循环3. 时间切片的实现方式4. 时间切片的优势 四、Fiber 架…...
mcp学习笔记
MCP(Model Context Protocol)是一种由Anthropic推出的开放协议,旨在统一大型语言模型(LLM)与外部数据源/工具之间的交互。其核心组件包括 MCP Client、MCP Server 和 Function Calling 机制,三者协…...
鸿蒙北向源码开发: 检查应用接口dts文件api规范性
开源鸿蒙5.0.2对应的api版本是14 5.0社区仓有工具检查接口规范性报告工具: interface/sdk-js/build-tools/api_check_plugin api_check_plugin是什么? 在解释api_check_plugin是什么之前得先知道 应用调用的api接口都是文件名后缀为.d.ts的文件,这些文件内部声明了arkts的a…...
Redis设计与实现——分布式Redis
Redis Sentinel(哨兵) Sentinel 的工作机制 故障检测(Failure Detection) 主观下线(Subjective Down):单个 Sentinel 实例检测到主节点在30 秒内无响应,标记其为 SDOWN。 客观下线…...
【Redis】Hash 哈希
文章目录 常用命令hsethgethmgethexistshkeyshvalshgetallhdelhlenhsetnxhincrbyhincrbyfloat 内部编码应用场景 Redis 存储键值对,也就是 key - value,不过同时也允许 value 也为键值对,但此时为了避免冲突,为 field - value PS…...
【matlab技巧】通过手绘的方法设计二维运动轨迹,附MATLAB程序
代码提供了一种直观的方式来使用鼠标在图形窗口中绘制线条,同时能够记录并显示用户绘制的轨迹坐标。用户通过左键点击绘制点,右键点击结束绘制,适合用于简单的图形交互和数据可视化。 文章目录 代码作用运行MATLAB源代码代码详解 代码作用 这…...
游戏引擎学习第290天:完成分离渲染
game_sim_region.cpp:在BeginSim中移除EntityOverlapsRectangle调用 现在我们接近一个关键点,虽然还没完全结束,但我们已经把所有东西迁移到了一个新概念上——即那些临时创建的控制器结构,称为“脑”(brains…...
uniapp-商城-61-后台 新增商品(添加商品到数据库)
完成商品的布局,完成商品的属性添加,最后的目的还是要完成数据添加,将我们前台的数据添加后台的数据库。 1、界面 2、点击提交完成商品添加 点击下方的提交按钮,将数据添加到数据库。 onSubmit 使用该函数---见3 <view cla…...
深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第一篇:I2C总线协议深度解剖
第一篇:I2C总线协议深度解剖 副标题 : 两根线如何征服千亿设备?详解硬件工程师必须掌握的通信奥义 1. 为什么I2C仍是嵌入式经典? 1.1 总线拓扑的哲学 拓扑对比图 SPI需4线N片选 vs I2C仅2线级联 UART点对点 vs I2C多主从架构 成本控制实…...
QT之LayOut布局
文章目录 QFormLayoutQGridLayoutQFormLayout、QGridLayout、QHBoxLayout、QVBoxLayout综合案例用QFormLayout 代替 界面左边部分的QGridLayout QFormLayout #include "widget.h"#include <QFormLayout> #include <QLineEdit>Widget::Widget(QWidget *p…...
ubuntu 24.04安装ros1 noetic
为了后续能够找到安装方法,记录一下: 参考如下链接安装: https://www.reddit.com/r/ROS/comments/158icpy/compiling_ros1_noetic_from_source_on_ubuntu_2204/ 安装步骤如下: 1.获取apt 包 sudo apt-get install python3-ros…...
动态规划-64.最小路径和-力扣(LetCode)
一、题目解析 从左上角到右下角使得数字总和最小且只能向下或向右移动 二、算法原理 1.状态表示 我们需要求到达[i,j]位置时数字总和的最小值,所以dp[i][j]表示:到达[i,j]位置时,路径数字总和的最小值。 2.状态转移方程 到达[i,j]之前要先…...
Python爬虫(29)Python爬虫高阶:动态页面处理与云原生部署全链路实践(Selenium、Scrapy、K8s)
目录 引言:动态爬虫的技术挑战与云原生机遇一、动态页面处理:Selenium与Scrapy的协同作战1.1 Selenium的核心价值与局限1.2 Scrapy-Selenium中间件开发1.3 动态分页处理实战:京东商品爬虫 二、云原生部署:Kubernetes架构设计与优化…...
FauxGen:一款由 CodeBuddy 主动构建的假数据生成器
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 在前端开发中,经常需要一些「假数据」来模拟真实接口,便于开发阶段的界面构建和功能测试…...
chrome 浏览器插件 myTools, 日常小工具。
1. 起因, 目的: 比如,chatgpt, google, 打开网页,就能直接输入文字,然后 grok 就不行,必须用鼠标点一下,才能输入文字。 对我而言,是个痛点!写个插件,自动点…...
从代码学习深度学习 - 词嵌入(word2vec)PyTorch版
文章目录 前言1. 为什么需要词嵌入?2. 早期尝试:独热向量 (One-Hot Vectors)独热向量的局限性3. 自监督的 word2vec4. 跳元模型 (Skip-Gram Model)4.1. 训练5. 连续词袋 (CBOW) 模型5.1. 训练总结前言 自然语言处理(NLP)是人工智能领域中一个充满活力和挑战的分支。要让计…...
手写tomcat:基本功能实现(4)
逻辑架构 HTTP 请求与 Socket: 左侧的 “HTTP 请求” 箭头指向 “socket”,表示客户端发送的 HTTP 请求通过 socket 传输到服务器。Socket 负责接收请求,并提取出其中的 请求路径(如 /first)和 请求方法(如…...
String的一些固定程序函数
append reverse length toString...
SECERN AI提出3D生成方法SVAD!单张图像合成超逼真3D Avatar!
SECERN AI提出的3D生成方法SVAD通过视频扩散生成合成训练数据,利用身份保留和图像恢复模块对其进行增强,并利用这些经过优化的数据来训练3DGS虚拟形象。SVAD在新的姿态和视角下保持身份一致性和精细细节方面优于现有最先进(SOTA)的…...
windows触摸板快捷指南
以下是结构化整理后的触控手势说明,采用清晰的层级划分和标准化表述: **触控手势操作规范****1. 单指操作****2. 双指操作****3. 三指操作****4. 四指操作** **优化说明:** 触控手势操作规范 1. 单指操作 手势功能描述等效操作单击滑动选择…...
Mipsel固件Fuzzing小记
Mipsel固件Fuzzing小记 0x01 准备 1.1 安装必要工具链 首先需要安装 MIPS 交叉编译工具链和相关依赖: sudo apt-get install -y gcc-mipsel-linux-gnu g-mipsel-linux-gnu binwalk qemu-user-static afl这些工具分别用于:交叉编译、固件解包、二进制…...
边缘计算:物联网的“加速器”与“守护者”
引言 随着物联网(IoT)的快速发展,越来越多的设备接入网络,产生了海量的数据。传统的云计算架构面临着延迟高、带宽不足、数据安全等问题。边缘计算作为一种新兴技术,正在成为解决这些问题的关键手段。本文将探讨边缘计…...
简单网络交换、路由-华三RRPP以太环网
1、RRPP简单介绍 RRPP用来组建环网的链路层协议,工作在二层,比STP收敛更快,同时与STP、Smart-link互斥。很多企业很少应用环网组网,但是小编所在工业生产制造企业在特定工艺的区域对环网应用颇多,RRPP小编还是推荐网工…...
Kotlin变量与数据类型详解
Kotlin 变量与基本数据类型详解 一、变量声明 1. val vs var val:不可变变量(只读),类似 Java 的 finalvar:可变变量 val name "Kotlin" // 类型推断为 String var age 25 // 类型推断为 I…...
【Redis】List 列表
文章目录 初识列表常用命令lpushlpushxlrangerpushrpushxlpop & rpoplindexlinsertllen阻塞操作 —— blpop & brpop 内部编码应用场景 初识列表 列表类型,用于存储多个字符串。在操作和实现上,类似 C 的双端队列,支持随机访问(O(N)…...
React中useState中更新是同步的还是异步的?
文章目录 前言一、useState 的基本用法二、useState 的更新机制1. 内部状态管理2. 状态初始化3. 状态更新 三、useState 的更新频率与异步行为1. 异步更新与批量更新2. 为什么需要异步更新? 四、如何正确处理 useState 的更新1. 使用回调函数形式的更新2. 理解异步更…...
Python语法强化
在正式编写第一个Python程序前,我们先复习一下什么是命令行模式和Python交互模式。 命令行模式 在Windows开始菜单选择“Terminal”,就进入到PowerShell命令行模式,它的提示符类似PS C:\>: ┌───────────────…...
FastMCP:为大语言模型构建强大的上下文和工具服务
FastMCP:为大语言模型构建强大的上下文和工具服务 在人工智能快速发展的今天,大语言模型(LLM)已经成为许多应用的核心。然而,如何让这些模型更好地与外部世界交互,获取实时信息,执行特定任务&am…...
TC3xx学习笔记-UCB BMHD使用详解(二)
文章目录 前言Confirmation的定义Dual UCB: Confirmation StatesDual UCB: Errored State or ECC Error in the UCB Confirmation CodesECC Error in the UCB ContentDual Password UCB ORIG and COPY Re-programming UCB_BMHDx_ORIG and UCB_BMHDx_COPY (x 0-3)BMHD Protecti…...
【Docker】docker compose和docker swarm区别
Docker Swarm 和 Docker Compose 的核心区别: 1. 定位不同 Docker Compose 单机多容器编排:在单个主机上管理多个容器,适合本地开发、测试环境。单节点部署:所有容器运行在同一 Docker 引擎实例上。 Docker Swarm 集群管理工具&…...
Power BI Desktop开发——矩阵相关操作
本篇文章使用2025年5月17日从微软商店下载的最新版Power BI Desktop 目录 1.设置矩阵网格整体大小 2.设置矩阵网格行高 3.设置矩阵网格列宽 4.隐藏矩阵网格的某一列 5.隐藏矩阵网格的某一行 6.设置矩阵网格居中展示 7.号图表的显示设置 8.调整行标题的缩进 9.设置矩阵…...
系统架构设计(九):分布式架构与微服务
基础定义 架构类型定义分布式架构指将系统部署在多个服务器节点上,通过网络协作完成整体功能。强调物理上的分布与任务协作。微服务架构一种分布式架构模式,将系统按照业务维度拆分为多个小型自治服务,每个服务可独立开发、部署、伸缩。 核…...
Linux服务器安全如何加固?禁用不必要的服务与端口如何操作?
保护Linux服务器的安全性对于确保系统的稳定性和数据的保密性至关重要。加固Linux服务器的安全性包括禁用不必要的服务和端口,以减少潜在的攻击面。本文将探讨如何加固Linux服务器的安全性,具体介绍如何禁用不必要的服务和端口,从而提高服务器…...
AgentCPM-GUI,清华联合面壁智能开源的端侧GUI智能体模型
AgentCPM-GUI是什么 AgentCPM-GUI 是由清华大学与面壁智能团队联合开发的一款开源端侧图形用户界面(GUI)代理,专为中文应用进行优化。基于 MiniCPM-V 模型(80 亿参数),该系统能够接收智能手机的屏幕截图&a…...
如何用AI优化简历:自动读取与精华浓缩
在求职过程中,一份出色的简历往往是成功的关键。然而,许多求职者在撰写简历时往往面临诸多挑战,比如如何让简历更突出、如何让招聘者快速了解自己的核心优势等。随着人工智能技术的发展,AI不仅可以帮助我们优化简历内容࿰…...
Jackson使用详解
JSON Jackson是java提供处理json数据序列化和反序列的工具类,在使用Jackson处理json前,我们得先掌握json。 JSON数据类型 类型示例说明字符串(String)"hello"双引号包裹,支持转义字符(如 \n&a…...
Node.js 源码概览
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它的源码结构相当庞大且复杂。下面我将为你讲解 Node.js 源码的主要结构和关键组成部分。 源码结构 Node.js 的主要源码目录结构如下: node/ ├── lib/ # JavaScript 核心模…...
简单神经网络(ANN)实现:从零开始构建第一个模型
本文将手把手带你用 Python Numpy 实现一个最基础的人工神经网络(Artificial Neural Network, ANN)。不依赖任何深度学习框架,适合入门理解神经网络的本质。 一、项目目标 构建一个三层神经网络(输入层、隐藏层、输出层…...
Conda 完全指南:从环境管理到工具集成
Conda 完全指南:从环境管理到工具集成 在数据科学、机器学习和 Python 开发领域,环境管理一直是令人头疼的问题。不同项目依赖的库版本冲突、Python 解释器版本不兼容等问题频繁出现,而 Conda 的出现彻底解决了这些痛点。作为目前最流行的跨…...
防范Java应用中的恶意文件上传:确保服务器的安全性
防范Java应用中的恶意文件上传:确保服务器的安全性 在当今数字化时代,Java 应用无处不在,而文件上传功能作为许多应用的核心组件,却潜藏着巨大的安全隐患。恶意文件上传可能导致服务器被入侵、数据泄露甚至服务瘫痪,因…...
CSS- 4.2 相对定位(position: relative)
本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。 HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看! 点…...
Face Over 84.0| 利用AI技术交换照片或视频中的面孔,制作有趣内容
Face Over是一款充满创造力和乐趣的应用程序,它利用AI技术帮助用户交换照片或视频中的面孔,预测未来宝宝的模样,并将照片制作成动画。无论您是想制作有趣的模因、口型同步视频还是探索未来家庭成员的模样,这款应用程序都能满足您的…...
怎么在excel单元格1-5行中在原来内容前面加上固定一个字?
环境: WPS 2024 问题描述: 怎么在excel单元格1-5行中在原来内容前面加上固定一个字? 解决方案: 1.在Excel中,如果您想在单元格的内容前面添加一个固定的字,可以通过以下几种方法实现: 方法…...
AI:人形机器人一定是人的形状吗?
本文将从技术角度分析人形机器人是否必须是人的形状,以及人形与非人形机器人在适用场合、优缺点上的差异。以下是详细解答: 人形机器人一定是人的形状吗? 不,人形机器人(Humanoid Robot)在技术上通常指外…...