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

计算机网络————(一)HTTP讲解

基础内容分类

从TCP/IP协议栈为依托,由上至下、从应用层到基础设施介绍协议。
1.应用层:
HTTP/1.1
Websocket
HTTP/2.0
2.应用层的安全基础设施
LTS/SSL
3.传输层
TCP
4.网络层及数据链路层
IP层和以太网

HTTP协议

网络页面形成基本

流程:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中当在浏览器上面的网址搜索界面点击搜索的时候如果出现了一些记录就相当于图片中右边蓝色的“浏览器引擎”去搜索数据存储,然后找到发现一些存储在浏览器中的数据。
详细操作:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

定义

一种无状态的、应用层的、以请求/应答方式运行的协议,它使用可扩展的语义和自描述消息格式、与基于网络的超文本信息系统灵活的互动

基于ABNF(元语言)语法的HTTP格式:
1." “字符:用来分隔定义中的各个元素
2.”/“选择:表示多个规则都是可供选择的规则
3.”%c##-###“:表示从字符 ##到 ###
4.”()"序列组合:将规则组合起来,视为单个元素
5."mn"不定量重复:
表示零个或更多元素
1
表示1个或更多元素
2
4表示两个或者至多4个元素
6.[]可选序列:包体是可选的,可有可无的
操作符为:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

根据上面的规则来分析格式
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

HTTP-message:表示http消息
start-line:起始行
request-line/status-line:表示请求行或者响应行构成起始行
request-line=method SP request-target SP HTTP-version CRLF:请求行有 方法 空格 请求路径 空格 HTTP版本 换行
status-line=HTTP-version SP status-code SP reason-phrase CRLF :响应行由 HTTP版本 空格 响应码(三位数字) 空格 字符串形式描述的原因 换行

详细分析请求头

method——常见的方法有:
GET:主要的获取信息方法
HEAD:类似GET方法,但服务器不发送BODY,用以获取HEAD元数据,幂等方法
POST:常用于提交HTML FROM表单、新增资源等
PUT:更新资源、带条件时是幂等方法
DELETE:删除资源、幂等方法
CONNECT:建立tunnel隧道
OPTION:显示服务器对访问资源支持的方法,幂等方法————跨域
TRACE:回显服务器手到的请求,用于定位问题。
Linux中使用: curl static.taohui.tech -X OPTIONS 可以查看允许使用的方法
用于文档管理的
PROPFIND:从Web资源中检索以XML格式存储的属性——查看目录
PROPPATCH:在单个原子性动作中更改和删除资源的多个属性
MKCOL:创建集合或者目录
COPY:将资源从一个URI复制到另一个URI
MOVE:将资源从一个URI移动到另一个URI
LOCK:锁定一个资源
UNLOCK:接触资源的锁定

详细分析响应行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

响应码的规范:
1XX:表示请求已经被服务器接收到了,需要进一步处理才能完成更进一步的操作
100 Continue:上传大文件前使用
101 Switch Protocols:协议升级使用
102 Proccessing:表示服务器已经收到了请求但是这个响应需要很长的时间处理,放置客户端超市。

2XX:成功处理请求
200 OK :成功返回响应
201 Created: 有新资源在服务器端杯成功创建
202 Accepted:服务器接收并开始处理请求,请求并没有处理完成。异步、需要很长时间处理的任务
203 Non-Authoritative Information:当代理服务器修改了origin server 的原始响应包体时。
204 NO Content:成功执行了请求且不携带响应包体,并暗示客户端无需更新当前的页面视图。
205 Reset Contern:成功执行了请求切不携带响应包体,同时指明客户端需要更新当前页面视图。
206 Partial Content:使用range协议时返回部分响应内容时的响应码,多线程下载
207 Multi-Status:在WEBDAV协议汇
208 Already Reported:为了解决WEb协议

3XX:重定向
300 Multiple Choices:允许客户端主动的显示
301 Moved Permanently:表示资源永久的重定向
302 Found:表示资源临时的重定向。
303 See Other:重定向到其他资源
304 Not Modified:客户端可复用的缓存
307 Temporary Redirect:明确重定向后请求方法必须与原请求方法相同
308 Permanent Redirect:类似301

4XX:客户端出现错误
400 Bad Request:服务器认为客户端出现了错误,但不能明确判断那种错误
401 Unauthorized: 用户认证信息缺失
407 Proxy Authentication Required :对需要经有代理的请求,认证信息为通过代理服务器的验证
403 Forbidden: 服务器理解请求的含义,但没有权限执行此请求
404 Not Found: 服务器没有找到相对应的资源
410 Gone :服务器没有找到对应的资源,且明确的知道该位置永久性找不到资源————对404补充
405 Method Not Allowed:服务器不支持请求行中的method方法
406 Not Acceptable:对客户端指定的资源表述不存在————语言不兼容
408 Request Timeout:服务器接收请求超时
409 Conflict:资源冲突
411 Length Required:请求中未携带Content-Length头部
412 Precondition Failed:条件类请求不满足时候返回
413 Payload Too Large/Request Entity Too Large:请求的包体超出服务器能处理的最大限度
414 URI Too Long:请求的URI超出服务器的最大长度
415 Unsupported Media Type:上传的文件类型不支持
416 Range Not Satisfiable: 无法提供Range请求中指定的那段包体
417 Expectation Failed: 对于Expect 请求头部期待的情况无法满足
421 Misdirected Request: 服务器认为该请求不该发给它
426 Upgrade Required:服务器拒绝基于当前HTTP协议提供服务,必须要Upgrade告知客户端升级
428 Precondition Required:用户请求中缺少条件类头部
429 Too Many Requests:客户端发送请求的速率太快
431 Request Header Fields Too Large:请求的头部大小超过限额
451 Unavailable For Legal Reasons :由于法律原因资源不可访问

5XX:表示服务端出现错误
500 Internal Server Error :服务器内部错误
501 Not Implemented: 服务器不支持实现请求所需要的功能
502 Bad Gateway:代理服务器无法获取到合法响应
503 Service Unavailable :服务器资源尚未准备好处理当前请求
504 GateWay Timeout:代理服务器无法及时的从上游获得响应
505 HTTP version Not Supported: 请求的HTTP协议版本不支持
507 Insufficient Storage:服务器没有足够的空间处理请求————存在安全错误
508 Loop Detected:访问资源是检测到循环
511 Network Authentication Required:代理服务器发现客户端需要进行身份验证才能获取网络访问权限

*(header-field CRLF):表示0个或多个以CRFL为结尾的http头部
header-field = field-name":"OWS field-value OWS 表示由一个头部名称 中间分隔符号为:和头部的值构成
OWS = *(SP / HTAB ) : 表示由零个或者多个空格或者横向制表符构成
field-name = token
field-value = *(field-content/obs-fold)
后续介绍field-name/value

CRLF:空行
[message-body]:表示后面可以有消息体,但他与头部必须中间隔了一个CRLF。
message-body: 表示由二进制的包传递的

利用telnet 工具查看

telnet www.taohui.pub 80
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

对比上面发现发现
请求构成
GET SP request-target SP HTTP/1.1 CRLF 符合请求头的格式
Host : www.xxx.com 表示的就是header-field : field-value

响应构成
上面一大串就是status-line
分隔开的单独的CRLF(空行,表示从这里开始这一行就没有了)
最后的那一段就是message-body

网络为什么要分层

OSI 概念模型
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用层:解决业务问题–七层设备nginx等
表示层:把网络中的消息转化成为应用层的东西(TLS/LLS加密)
会话层:建立关系连接/握手————概念层
传输层:解决进程与进程的关系,TCP协议等–四层设备
网络层:确保在广域网中从一个ip发送到另一个ip上–三层设备
数据链路层:利用mac地址连接到局域网的交换机的–二层设备
物理层:物理介质

分层的好处是:每一层只需要关注自己这一层的东西(封装)不需要关心其他层做了什么。这样技术迭代的时候就不用担心兼容问题。
坏处:因为分层之间需要数据处理,就需要更长的时间影响了效率。

每一层的详细处理:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

架构风格

1.数据流风格

优点:简单性、可进化性、可扩展性、可配置性、可重用性
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

管道与过滤器:每个Filter都有输入端和输出,只能从输入端读取数据,处理后再从输出端输出数据
统一接口的管道与过滤器:在PF上增加了统一接口的约束,所有的Filter过滤器必须具有同样的接口

2.复制风格

优点:用户可察觉的性能、可伸缩性、网络效率、可靠性
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

复制仓库(RR):多个进程提供相同的服务,通过反向代理对外提供集中服务
缓存:RR的变体,通过复制请求的结果,为后续请求服用

3.分层风格

优点:简单性、可进化性、可伸缩性
客户端服务器(CS):由客户端触发请求,服务端监听到请求后响应,客户端一直等待收到响应后,会话结束
分层系统(LS):每一层为其上的层服务,并使用在其下的层所提供的服务,如:TCP/IP
分层客户端服务器(LCS):LS+CS,如正向代理/反向代理,从空间上分为外部层与内部层
无状态、客户端服务器(CSS):基于CS、服务器不允许有session state会话状态
缓存、无状态、客户端服务器(C$SS):提升性能

4.移动代码风格

优点:可扩展性、网络效率
虚拟机(VM):分离指令与实现
远程求值(REV):基于CS的VM,将代码发送至服务器执行
按需代码(COD):服务器在响应发回处理代码,在客户端执行

5.点对点风格

优点:可进化性、可重用性、可拓展性、可配置性
EBI:基于事件集成系统

使用Chrome抓包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

控制器:控制面板的外观与功能。
过滤器:过滤请求列表中显示的资源
概览:显示HTTP请求、响应的时间轴
请求列表:默认时间排序,可选择显示列
概要:请求总数、总数据量、总花费时间等

浏览器的加载过程

1.解析HTML结构
2.加载外部脚本和样式表文件
3.解析并执行脚本代码//部分脚本会阻塞页面的加载
4.DOM树构建完成//DOMContentLoaded事件
5.加载图片等外部文件
6.页面加载完毕//load事件

请求时间详细分布:
Queueing:浏览器在排队
Stalled:请求可能会因Queueing中描述的任何原因停止
DNS Lookup:浏览器正在解析请求的IP地址
Proxy Negotiation:浏览器正在与代理服务器协商请求
Request sent :正在发送请求
ServiceWorker Preparation:浏览器正在启动Service Worker
Request to ServiceWork:正在将请求发送到Service Workder
Waiting(TTFB):将浏览器正在等待响应的第一个字节
Content Download:浏览器正在接受响应
Receiving Push:浏览器正在通过HTTP/2服务器推送接受此响应数据
Reading Push:浏览器正在读取之前的本地数据

URI

定义:
Uniform Resource Identifier 统一资源标识符
组成:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

scheme, user information, host, port(HTTP默认43), path, query,fragment(分段)
用元语表示URI:
URI= scheme “:” hire-pary[“?“query][”#“fragment]
解释:
scheme=ALPHA*(ALPHA/DIGIT/”+”/“-”/“.”)
如:https,http,ftp,mailto,file,telnet等
ALPHA表示字母
DIGIT表示数字

hire-pary=“//” authority path-abempty / path-absolute /path-rootless /path-empty
authority=[ userinfo"@“]host[”:" port]————用户信息@域名:端口
userinfo=*(unreserved /pct-encoded /sub-delims/“:”)
host=IP-literal/ipv4address/reg-name
port=*DIGIT

query=*(pchar/“//”?“)————以”?"开头的可选项

fragment=*(pchar/“/”/“?”)————以"#"开头的可选项

相对URI:去除绝对路径只留下/html/rfc7231?test=1#page-7

相关文章:

计算机网络————(一)HTTP讲解

基础内容分类 从TCP/IP协议栈为依托,由上至下、从应用层到基础设施介绍协议。 1.应用层: HTTP/1.1 Websocket HTTP/2.0 2.应用层的安全基础设施 LTS/SSL 3.传输层 TCP 4.网络层及数据链路层 IP层和以太网 HTTP协议 网络页面形成基本 流程&#xff1a…...

大语言模型架构:从基础到进阶,如何理解和演变

引言 你可能听说过像 ChatGPT 这样的 AI 模型,它们能够理解并生成自然语言文本。这些模型的背后有着复杂的架构和技术,但如果你了解这些架构,就能明白它们是如何工作的。今天,我们将用简单的语言,逐步介绍大语言模型的…...

科普mfc100.dll丢失怎么办?有没有简单的方法修复mfc100.dll文件

当电脑频繁弹窗提示“mfc100.dll丢失”或应用程序突然闪退时,这个看似普通的系统文件已成为影响用户体验的核心痛点。作为微软基础类库(MFC)的核心组件,mfc100.dll直接关联着Visual Studio 2010开发的大量软件运行命脉。从工业设计…...

什么是虚拟内存?它的作用是什么?

虚拟内存概念 虚拟内存是计算机系统内存管理的一种技术。它使得应用程序认为它拥有连续的可用的内存(一个连续完整的地址空间)。但是实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在…...

SAP任命Simon Davies为亚太区总裁,领导重组后的亚太地区业务

2025年2月19日,SAP宣布任命Simon Davies为新任亚太区总裁,负责领导公司重组后的亚太地区业务。Davies将常驻新加坡,全面负责SAP在亚太地区的战略、运营、人员管理、销售、服务、合作伙伴关系及盈利能力。他的职责范围涵盖韩国、澳大利亚、新西…...

Markdown使用方法文字版解读

[TOC](这里写自定义目录标题) # Markdown编辑器 你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 ## 新的改变 我们对Markdown编辑器进行了…...

QT移植,交叉编译至泰山派RK3566开发板,.pro文件解析

备注 交叉编译到开发板,会有各种奇奇怪怪的问题, 直接命令行安装 QTCREATOR和 QtBase,就在板子上搞个桌面系统编译,最后把桌面关掉。 配置文件解析 配置文件丢这里,后面有空整理下。 说下大概的注意点, 安装路径(qtcreator远程部署的路径)、 动态库路径和…...

Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)

一:安装Liunx(CentOS-6-x86_64) 安装Liunx(CentOS-6-x86_64) 二:下载MySql(5.6.50) MySql下载官网 二:安装MySql 2.1 将mysql上传到Liunx 文件地址 /usr/local/ 2…...

使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应

使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应我要用 chatgpt,也问过,但是比 deepseek 还是差一个级别,具体如下: package mainimport ("bufio&qu…...

当电脑上有几个python版本Vscode选择特定版本python

查看当前vscode用的python版本命令 Import sys print(sys.version) 修改VSCODE解释器 打开 VSCode。 按下 CtrlShiftP打开命令面板。 输入 Python: Select Interpreter 并选择它。 从弹出的列表中选择你安装的 Python 解释器。如果你有多个 Python 版本(例如…...

大一计算机的自学总结:一维差分与等差数列差分

前言 差分和前缀和一样,也是很重要的基础算法。 一、一维差分 1.内容 当给出一个数组,每次操作让数组某个区间上的值全增加,最后要求返回整个数组的结果。若是一次一次去遍历,时间复杂度肯定很难看。差分可以做到在时间复杂度…...

学习dify第一天:整体架构分析

使用marscode AI插件 从分析最火的dify开始学习使用ai提速首先安装插件功能快捷键使用这个工具如何学习项目首先学习dify那就先上官网看文档开始从docker构建脚本学起看下docker-compose.yamldify里边服务的组件现在看api和web模块api项目根目录有Makefile文件,用于构建api和w…...

C语言的内存分配:malloc和free

使用库函数分配和管理内存。在运行时,分配更多的内存给程序使用,主要工具是malloc函数,这个函数接受一个参数:所需要要的内存字节数。malloc函数会找到合适的空闲内存块,这样的内存是匿名的,即malloc分配了…...

为什么 JSON 不能序列化 set

为什么 JSON 不能序列化 set JSON(JavaScript Object Notation)作为一种广泛使用的数据交换格式,虽然功能强大,但它无法直接序列化 set 类型。本文将从设计原理、实现限制和实际应用角度,探讨这一现象的原因及解决方案…...

XUnity.AutoTranslator-Gemini——调用Google的Gemini API, 实现Unity游戏中日文文本的自动翻译

XunityAutoTranslator-Gemini-API 本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型构建的 Web API 服务,用于将日文unity游戏文本翻译成简体中文。 日文游戏文本AI翻译API (基于Google Gemini) 本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型…...

深刻理解构件生产线

我们可以将构件生产线类比为软件开发中的一种高效、模块化的构建方式。下面,我将结合Java编程的概念来详细讲解构件生产线的含义和实现方式。 一、构件生产线的概念 构件生产线在软件开发中,类似于工厂中的自动化生产线,它通过将复杂的软件…...

nlp 自然语言处理+bert model +问答系统 question answer system(python 完整代码)

pre-trained bert model 预训练好的Bert模型 本地实现问答系统 用这条命令将bert下载到本地: model.save_pretrained("path/to/model") 也有参考这篇文章 https://colab.research.google.com/drive/1uSlWtJdZmLrI3FCNIlUHFxwAJiSu2J0-#scrollTo=AaweLnNXGhTY …...

【Excel】【VBA】根据内容调整打印区域

Excel VBA:自动调整打印区域的实用代码解析 在Excel中,我们经常需要调整打印区域。今天介绍一段VBA代码,它可以根据C列的内容自动调整打印区域。 Dim ws As Worksheet Dim lastRow As Long Dim r As Long 设置当前工作表 Set ws ActiveSh…...

【读书笔记·VLSI电路设计方法解密】问题53:什么是逻辑综合

逻辑综合是将期望的电路行为的抽象形式(通常以RTL表示)转换为基于逻辑门(标准单元)的设计实现的过程。这一过程由具有复杂算法的自动综合工具完成。逻辑综合的结果是网表,它由各种标准单元和特殊宏单元组成。该网表的功…...

Redis 的备份机制

Redis 的备份机制 Redis 是一个高性能的基于内存的键值存储数据库,虽然所有操作都在内存中完成,但 Redis 也提供了持久化机制来确保数据的可靠性和可恢复性。这主要通过 RDB 和 AOF 两种备份机制实现。 RDB(Redis Database Backup&#xff…...

CountDownlatch实现原理

文章目录 类图及概要核心方法await() 方法await(long timeout, TimeUnit unit) 方法countDown() 方法getCount() 方法 总结 类图及概要 CountDownLatch 内部有个计数器,并且这个计数器是递减的 。 下面就通过源码看看 JDK 开发组在何时初始化计数器,在何…...

如何为自己的 PDF 文件添加密码?在线加密 PDF 文件其实更简单

随着信息泄露和数据安全问题的日益突出,保护敏感信息变得尤为重要。加密 PDF 文件是一种有效的手段,可以确保只有授权用户才能访问或修改文档内容。本文将详细介绍如何使用 CleverPDF 在线工具为你的 PDF 文件添加密码保护,确保其安全性。 为…...

现代未来派品牌海报徽标设计无衬线英文字体安装包 THANKS LAB

THANK LAB 是一种高级未来主义的软字体,将时尚的现代设计与光滑圆润的边缘相结合,营造出大胆而平易近人的美感。这款字体非常适合品牌、海报、标题、UI/UX 和科幻主题项目,旨在激发创造力。THANK LAB Futuristic Soft Font 完全支持拉丁字母、…...

基于Flask框架的食谱数据可视化分析系统的设计与实现

【Flask】基于Flask框架的食谱数据可视化分析系统的设计与实现 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 在当今数字化时代,信息可视化已成为一种高效的数据理解和传播手段。…...

Mac arm架构使用 Yarn 全局安装 Vue CLI

dgqdgqdeMacBook-Pro spid-admin % vue --version zsh: command not found: vue要使用 Yarn 安装 Vue CLI,你可以执行以下命令: yarn global add vue/cli这个命令会全局安装 Vue CLI,让你可以使用 vue 命令创建、管理 Vue.js 项目。以下是一…...

矩阵-旋转图像

旋转图像 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。输入:二维数组 输出:void 思路:tempM…...

自用开发的商标和工作小工具!

近日普推知产老杨把个人小站改了版,也把以前业余开发的小工具做了下优化和增加了一些新的小工具,这些在线小工具手机和电脑双适应,普推老杨日常也在用,主要在商标方面和内容制做。 商标名称图样免费生成主要用在可以生成符合商标申…...

基于腾讯云大模型知识引擎×DeepSeek构建八字、六爻赛博算卦娱乐应用

引言 随着DeepSeek的火爆,其强大的思维链让不少人越用越香,由于其缜密的思维和推理能力,不少人开发出了不少花里胡哨的玩法,其中一种就是以八字、六爻为代表的玄学文化正以“赛博玄学”的新形态席卷年轻群体。 针对于八字、六爻…...

八股文实战之JUC:静态方法的锁和普通方法的锁

1、对于staic同步方法锁住的是class类模板(Class对象) 对象是线程(调用者) 调用者只有获取资源的锁才能调用 2、普通同步方法 锁住的资源是class对象 对象是线程(调用者)即: 静态同步方法&a…...

VTK知识学习(42)-基本的图形操作(三)

1、网格平滑 1)概述 现代扫描技术的发展使得获取点云数据不再困难,通过曲面重建技术可以获取表面网格来表示各种复杂的实体。但是点云数据中往往存在噪声,这样得到的重建网格通常都需要进行平滑处理。 拉普拉斯平滑是一种常用的网格…...

代码随想录算法训练营day40(补0208)

买卖股票专栏 1.买卖股票最佳时机 贪心法,好想 题目 121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖…...

python基于深度学习实现遮挡人脸识别系统的详细方案

以下是一个基于深度学习实现遮挡人脸识别系统的详细方案,使用Python语言: 一、需求理解 遮挡人脸识别系统旨在准确识别出即使面部部分被遮挡(如口罩、眼镜等)的人的身份。该系统将利用深度学习技术,结合合适的数据集进行训练,以达到较高的识别准确率。 二、系统架构 …...

【Python爬虫(43)】云端探秘:Python分布式爬虫部署攻略

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…...

Java集合框架大师课:从青铜到王者的数据结构指南(一)

🚀 Java集合框架大师课:从青铜到王者的数据结构指南(一) 🌟 系列定位:全网最懂小白的JCF实战教程 | 建议搭配IDE边学边练 🎯 学习路线图 第一章:初识JCF江湖 1.1 什么是JCF&#xf…...

Vmware虚拟机Ubantu安装Docker、k8s、kuboard

准备工作: 切换用户:su root关闭防火墙: sudo ufw diasble关闭swap: systemctl stop swap.target systemctl status swap.target systemctl disable swap.target #开机禁用 systemctl stop swap.img.swap systemctl status swap.img.swap关闭虚拟交换分区 vim /…...

Java面试——Tomcat

优质博文:IT_BLOG_CN 一、Tomcat 顶层架构 Tomcat中最顶层的容器是Server,代表着整个服务器,从上图中可以看出,一个Server可以包含至少一个Service,用于具体提供服务。Service主要包含两个部分:Connector和…...

游戏引擎学习第113天

仓库:https://gitee.com/mrxiao_com/2d_game_2 黑板:优化的基本过程 在游戏编程中,优化是一个非常重要的学习内容,尤其是想要成为专业开发者时。优化的核心是理解代码的执行速度,以及如何提升其性能。在这个阶段,已经…...

【EB-02】TC397 Tresos 最小工程配置

TC397 Tresos 最小工程配置 1. 新建demo 工程2. 配置消除错误2.1 ResourceM 设置2.2 McalLib模块配置3. 生成代码3.1 校验工程3.2 生成代码1. 新建demo 工程 新建工程 设置工程名称 选择芯片型号 选择添加模块 得到最小工程需求模块 2. 配置消除错误 2.1 ResourceM 设置 设置芯…...

深入理解WebSocket接口:如何使用C++实现行情接口

在现代网络应用中,实时数据传输变得越来越重要。通过WebSocket,我们可以建立一个持久连接,让服务器和客户端之间进行双向通信。这种技术不仅可以提供更快的响应速度,还可以减少不必要的网络流量。本文将详细介绍如何使用C来实现We…...

前端面试题

以下是一些前端面试题: 一、HTML/CSS部分 如何实现一个元素的背景颜色渐变效果,并且在不同浏览器中保持兼容性? 答案: 对于现代浏览器,可以使用标准的CSS渐变语法。 线性渐变示例(从左到右,红色到蓝色):background: linear - gradient(to right, red, blue);径向渐变…...

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改,目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本,virtualbox对于这个5.x.xx版本早已停止维护,所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…...

Hyper-V初探

听说window自带虚拟机,小窃喜了一下,这样就不用下载第三方虚拟机软件了:VMware或者Oracle VirtualBox,但是本地搜索一看,发现没有安装,百度了一下说家庭中文版是个阉割版的系统,只有教育版&…...

IP协议

IP协议介绍 IP地址=目标网络+目标主机 IP协议是网络层协议 IP报头格式 [IP报头图片] IP报头解析 4 位版本号(version): 指定 IP 协议的版本, 对于 IPv4 来说, 就是 4. 4 位头部长度(header length): IP 头部的长度是多少个 32bit, 也就是 length 4…...

Django Admin: 实现基于数据库实际值的动态过滤器

在 Django Admin 中,我们经常需要使用 list_filter 来为管理界面添加过滤功能。然而,有时我们希望过滤器能够动态地反映数据库中的实际值,而不是依赖于预定义的选项。本文将介绍如何实现一个基于数据库实际值的动态过滤器,以 ECR 仓库的区域过滤为例。 问题背景 在管理 E…...

overflow-x: auto 使用鼠标实现横向滚动,区分触摸板和鼠标滚动事件的方法

假设一个 div 的滚动只设置了 overflow-x: auto 我们发现使用鼠标的滚轮是无法左右滚动的,但是使用笔记本电脑的触摸板,或者在移动设备上是可以滚动的。所以我们需要兼容一下鼠标的横向滚动功能。 我们可以监控 wheel 事件,然后根据位置来计…...

DPVS-2:单臂负载均衡测试

上一篇编译安装了DPVS,这一篇开启DPVS的负载均衡测试 : 单臂 FULL NAT模式 拓扑-单臂 单臂模式 DPVS 单独物理机 CLINET,和两个RS都是另一个物理机的虚拟机,它们网卡都绑定在一个桥上br0 , 二层互通。 启动DPVS …...

宇树科技13家核心零部件供应商梳理!

2025年2月6日,摩根士丹利(Morgan Stanley)发布最新人形机器人研报:Humanoid 100: Mapping the Humanoid Robot Value Chain(人形机器人100:全球人形机器人产业链梳理)。 Humanoid 100清单清单中…...

sqli-labs之Kali搭建靶场环境

背景: SQL注入是一种常见的Web安全漏洞,攻击者可以通过该漏洞在应用程序中执行任意的SQL命令。为了帮助开发者和安全研究人员更好地理解和防范SQL注入攻击,sqli-labs应运而生。它是一个开源项目,提供了一系列的SQL注入练习环境&a…...

Kafka在Windows系统使用delete命令删除Topic时出现的问题

在使用Windows的Kafka时,想要删除某一个主题,发现使用了delete之后会一直报警告。下面是我发现错误之后重新实测的Bug 先创建2个topic kafka-topics.bat --bootstrap-server localhost:9092 --topic test1 --createkafka-topics.bat --bootstrap-serve…...

JVM 面试题相关总结

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,…...