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

浅谈《图解HTTP》

感悟

滑至尾页的那一刻,内心突兀的涌来一阵畅快的感觉。如果说从前对互联网只是懵懵懂懂,但此刻却觉得她是如此清晰而可爱的呈现在哪里。

介绍中说,《图解HTTP》适合作为第一本网络协议书。确实,它就像一座桥梁,连接了 "零基础" 与 "系统性学习",对入门者及其友好。

不过,从辩证的角度来看,这毕竟是十年前的老书了,HTTP早以更新至HTTP/3,而本书是以HTTP/1.1为核心讲解,多少让人有点遗憾。不过好在,该有的知识点,还都有( •̀ ω •́ )✧

核心知识点

  • 系统的讲解了 HTTP/1.1 协议核心内容:
    • 报文格式(请求行、首部字段、实体主体)
    • 状态码(如200、404、503)
    • 缓存机制(Cache-Control、ETag)
    • Cookie与会话管理
  • 对HTTP加密原理(SSL/TLS握手、混合加密机制)的简化解释足够清晰。

当然,我写这篇博客的意义不是为了赞美或批评《图解HTTP》。接下来,我会把大纲列出,用最白的话,来叙述每章大致内容,方便日后浏览、复习。

总览大纲


一、了解Web及网络

1、使用HTTP协议访问Web:

客户端与服务器端之间 在遵守一个叫HTTP协议的规范前提下,进行交流。

2、HTTP的诞生:

早期,世界各地知识分子为了共享知识,于是诞生了Web。以HTML(SGML标准通用标记语言)、HTTP(文档传递协议)、URL(指定文档所在地址的统一资源定位符)为基础形成了WWW(World Wide Web,万维网)。

3、网络基础TCP/IP:

TCP/IP也就是TCP/IP协议族,HTTP是它内部的一个子集。TCP/IP按层次分可分为四层:应用层(HTTP·主要)、传输层(TCP·主要)、网络层(IP·主要)、链路层(网络·主要)。

4、与HTTP关系密切的协议:IP、TCP和DNS:

IP协议(包括 IP地址、MAC地址)为寻找到传输目的地而存在。

TCP协议,功能有:为建立连接,实现三次握手(SYN、SYN/ACK、ACK)。将大块数据分割成以报文段等。

5、负责域名解析的DNS服务:

计算机适合辨别二进制,而人适合记忆字母。所以在为主机名和域名赋名时,用字母。在查找对应计算机时,通过DNS将对应字母转化为二进制。

6、各种协议与HTTP协议的关系:

大致是相互配合,传递信息。

HTTP协议生成报文->TCP协议切割->IP协议进行传递中转->TCP协议组装->HTTP协议响应

7、URI与URL:

URI(统一资源标识符)、URL(统一资源定位符)。

其中URL是URI的子集。

URI格式:


二、简单的HTTP协议

1、HTTP协议用于客户端和服务器之间的通讯:

请求的一端是客户端,响应的一端是服务器端。通信时两者皆存在,两者身份可互换。

2、通过请求和响应的交换达成通信:

字面意思,你问他要,并且他给你了,代表你俩交流成功。

3、HTTP是不保存状态的协议:

简而言之,客户端与服务器端都有健忘症,他俩都不记得曾经说过啥,也就是不论发多少个http协议,双方都记不住。

4、请求URI定位资源:

互联网上的所有资源都被URI打了个标记,就相当与你家的地址,只要知道URI就能找到资源所在地。

5、告知服务器意图的HTTP方法

GET、POST、PUT、HEAD、DELETE、OPTIONS、TRACE、CONNECT、LINK、UNLINE等

重点:大写

6、使用方法下达命令:

其中,有三个较为常用:

7、持久连接节省通信量:

每次通信都需要TCP连接,完毕后在断开。大规模通信情况下,会极大的增加开销。于是就找了个持久的通道。

8、使用Cookie的状态管理:

前面不是说,服务器与客户端健忘吗,记不住曾经发过的http协议。于是搞了个备忘录,起名叫Cookie,专门用来提醒对方。


三、HTTP报文内的HTTP信息

1、HTTP报文:

应用层通过http协议生成的。

结构为:报文首部、报文主体。两部分通过 空行(CR+LF) 分割开。

2、请求报文及响应报文的结构:

3、编码提升传输效率:

就是传输的数据太大,压缩一下在传输。就像用微信传输时,一般先压缩为zip格式,在发送。

4、发送多种数据的多部份对象集合:

这里的多部分对象为:文本、图片、音频等,需要在传输时划分开。

5、获取部分内容的范围请求:

举个简单的例子,在网上下载东西时,总是1%、1%的下载,每次只申请百分之一的资源。

既能防止一次性传输内容过大,而且能在突然断网后,在联网之后知道从哪里重新申请资源。

6、内容协商返回最合适的内容:

相当于,你申请过来了一个网站的大概框架,里面数据返回的具体内容,是中文还是其他语言,是经过辨别你发的请求后给出的。


四、返回结构的HTTP状态码

1、状态码告知从服务器端返回的请求结果:

通过状态码,你能知道你发出的请求是正确还是错误。她就相当于反馈。

2、2XX 成功:

  • 200 OK
  • 204 No Content
  • 206 Partial Content

3、3XX 重定向:

  • 301 Moved Permanently
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 307 Temporary Redirect

4、4XX 客户端错误:

  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found

5、5XX 服务器错误:

  • 500 Internal Server Error
  • 503 Service Unavailable

五、与HTTP写作的Web服务器

1、用单台虚拟主机实现多个域名:

相当于厉害点的人格分裂症、这个人还顶聪明。有一个主人格,并且能有意识的切换人格。

2、通信数据转发程序:代理、网关、隧道

代理:相当于中间人角色,你拿不了的东西,让代理替你拿,在交给你。(VPN)

网关:让不同协议之间通信,功能上类似代理。

隧道:使用 SSL 加密手段建立的一个通信线路

3、保存资源的缓存:

缓存是指代理服务器或客户端本地磁盘内保存的资源副本。再次请求时,如果缓存中有,就可以直接用,而不用,在向服务器发出请求。


六、HTTP首部

1、HTTP报文首部:

前面已经看过了(三-2)分为:请求报文首部与响应报文首部。

2、HTTP首部字段

分别就是下方的3、4、5、6。

通用首部字段、请求首部字段、响应首部字段、实体首部字段。

3、HTTP/1.1 通用首部字段

通用首部字段是指,请求报文和响应报文双方都会使用的首部。

4、请求首部字段

请求首部字段是从客户端往服务器端发送请求报文中所使用的字段, 用于补充请求的附加信息、客户端信息、对响应内容相关的优先级等 内容。

5、响应首部字段

响应首部字段是由服务器端向客户端返回响应报文中所使用的字段, 用于补充响应的附加信息、服务器信息,以及对客户端的附加要求等 信息。

6、实体首部字段

实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息。

7、为Cookie服务的首部字段

8、其他首部字段

HTTP 首部字段是可以自行扩展的。所以在 Web 服务器和浏览器的应 用上,会出现各种非标准的首部字段。


七、确保Web安全的HTTPS

1、HTTP的缺点:

  • 通信使用明文(不加密),内容可能会被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装
  • 无法证明报文的完整性,所以有可能已遭篡改

2、HTTP + 加密 + 认证 + 完整性保护 = HTTPS:

简单来说就是:HTTP协议+SSL/TLS协议+有信誉的认证公司+确保发送的信息是完整的=HTTPS

φ(* ̄0 ̄)。所以HTTPS就是,穿上了安全服的HTTP。


八、确认访问用户身份的认证

1、何为认证:

简单点说,就是计算机本身无法判断坐在显示器前的使用者的身份。所以需要类似账号密码的认证。

2、BASIC认证:

就是简单的账号、密码认证,虽被Base64编码,但是在传输过程中几乎仍为明文传输,容易被监听窃取。

3、DIGEST认证:

为弥补 BASIC 认证存在的弱点,从 HTTP/1.1 起就有了 DIGEST 认证。 DIGEST 认证同样使用质询 / 响应的方式 (challenge/response),但不会像 BASIC 认证那样直接发送明文密码。但仍然无法从根本上解决问题。

4、SSL客户端认证:

SSL是凭借着,证书进行认证。相当于你找了个担保人。但实际操作可远不止这么简单,具体去下方链接了解一下吧( ̄︶ ̄)↗ 

5、基于表单认证:

简而言之,就是用户通过表单提交账号密码,服务器验证身份后授权访问。


九、基于HTTP的功能

1、基于HTTP的协议:

这个小节的大概意思是,Web长大了,http配不上了,但又因为抛弃不了http。所以就给http,又扩展了些新功能,让他适应Web。

2、消除HTTP瓶颈的SPDY:

SPDY通过多路复用、头部压缩和服务器推送降低延迟,提升了加载速度。

3、使用浏览器进行全双工通信的WebSocket:

WebSocket全双工通信的大致流程为:1. 客户端发起HTTP升级请求(Upgrade: websocket),服务端响应101状态码切换协议;2. TCP连接保持,双方通过数据帧实时双向通信;3. 数据以消息形式传输,无需重复握手;4. 任一端可发送关闭帧终止连接,实现低延迟双向通信。

4、期盼已久的HTTP/2.0

HTTP/2.0 的目标是改善用户在使用 Web 时的速度体验。

5、Web服务器管理文件的WebDAV

WebDAV(Web-based Distributed Authoring and Versioning,基于万维网 的分布式创作和版本控制)是一个可对 Web 服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统。

除了创建、删除文件等基本功能,它还具备文件创建者管理、文件编辑过程中禁止其他用户内容覆盖的加锁功能,以及对文件内容修改的 版本控制功能。

简而言之,WebDAV 是用于 Web 服务器管理文件的扩展协议,支持多种文件操作。


十、构建Web内容的技术

1、HTML:

HTML(HyperText Markup Language,超文本标记语言)是为了发送 Web 上的超文本(Hypertext)而开发的标记语言。

超文本是一种文档 系统,可将文档中任意位置的信息与其他信息(文本或图片等)建立 关联,即超链接文本。

标记语言是指通过在文档的某部分穿插特别的 字符串标签,用来修饰文档的语言。我们把出现在 HTML 文档内的 这种特殊字符串叫做 HTML 标签(Tag)。

2、动态HTML:

所谓动态 HTML(Dynamic HTML),是指使用客户端脚本语言将静 态的 HTML 内容变成动态的技术的总称。鼠标单击点开的新闻、 Google Maps 等可滚动的地图就用到了动态 HTML。

动态 HTML 技术是通过调用客户端脚本语言 JavaScript,实现对 HTML 的 Web 页面的动态改造。利用 DOM(Document Object Model,文档对象模型)可指定欲发生动态变化的 HTML 元素。

3、Web应用:

Web 应用是指通过 Web 功能提供的应用程序。

4、数据发布格式及语言:

里面有可拓展的标记语言XML,具有信息聚合功能的RSS,轻量级数据标记语言JSON


十一、Web的攻击技术

1、针对Web的攻击技术:

攻击分为主动攻击(主动出击)与被动攻击(诱导用户自己掉进陷阱)两种。

2、因输出值转义不完全引发的安全漏洞:

意如其名,问题就出在了转义上。

3、因设置或设计上的缺陷引发的安全漏洞:

一般有强制浏览、不正确的错误消息处理、开放重定向等。

4、因会话管理疏忽引发的安全漏洞:

会话管理是用来管理用户状态的必备功能,但是如果在会话管理上有 所疏忽,就会导致用户的认证状态被窃取等后果。

5、其他安全漏洞:

一般有密码破解、点击劫持、DoS 攻击、后门程序等。


到这里基本结束,如有错,请及时私信,必会接纳。( •̀ ω •́ )✧


参考书籍:

《图解HTTP》


相关文章:

浅谈《图解HTTP》

感悟 滑至尾页的那一刻,内心突兀的涌来一阵畅快的感觉。如果说从前对互联网只是懵懵懂懂,但此刻却觉得她是如此清晰而可爱的呈现在哪里。 介绍中说,《图解HTTP》适合作为第一本网络协议书。确实,它就像一座桥梁,连接…...

为什么在网站上复制的图片不能直接粘贴到本地的原因及解决方法

一、图片的来源与格式 ①图片链接:许多网站展示的图片并不是直接嵌入在页面中的,而是通过URL链接到远程服务器上的图片。当你复制网站上的图片时,实际上复制的是图片的URL地址,而不是图片的本地文件。 ②动态加载:有些网站使用JavaScript或其他技术动态加载图片,可能通…...

conda配置channel

你收到 CondaKeyError: channels: value https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main not present in config 错误是因为该镜像源(https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main)可能没有被正确添加到 Conda 的配置文件中&…...

Javaweb学习之Mysql(Day5)

(一)Mysql概述 (1)MYSQL通用语法 SQL语句可以单行或多行书写,以分号结尾。 SQL语句可以使用空格/缩进来增强语句的可读性(即,空格和缩进不影响代码的执行)。 MySQL数据库的SQL语句不区分大小写。 注释: 1. 单行注释: -- 注释内容 或 # 注释内容 (MySQL 特有 …...

61.异步编程1 C#例子 WPF例子

和普通的任务绑定不太相同的部分如下: public MainWindowViewModel(){FetchUserInfoCommand new RelayCommand(async (param) > await FetchUserInfoAsync());}private async Task FetchUserInfoAsync(){// 模拟异步操作,比如网络请求await Task.Del…...

自定义数据集 使用scikit-learn中svm的包实现svm分类

引入必要的库 import numpy as np from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from sklearn.svm import SVC from sklearn.metrics import accuracy_score, classification_report 生成自定义数据集 X, y ma…...

Qt跨屏窗口的一个Bug及解决方案

如果我们希望一个窗口覆盖用户的整个桌面,此时就要考虑用户有多个屏幕的场景(此窗口要横跨多个屏幕),由于每个屏幕的分辨率和缩放比例可能是不同的,Qt底层在为此窗口设置缩放比例(DevicePixelRatio&#xf…...

Python零基础快速入门课程,自带在线运行环境

Python零基础入门教程 编译器地址: Python在线编译器 课程目录: Python简介 Python是一种简单易学、功能强大的编程语言。它具有高效的数据结构,能够简单有效地实现面向对象编程。 Python的优点: 简单易学,所有人都可以零基础入门开源免费,有丰富的免费学习课程跨平台…...

Java 数据库连接池:HikariCP 与 Druid 的对比

Java 数据库连接池:HikariCP 与 Druid 的对比 数据库连接池:HikariCP 1. 卓越的性能表现 HikariCP 在数据库连接池领域以其卓越的性能脱颖而出。 其字节码经过精心优化,减少了不必要的开销,使得连接获取和释放的速度极快。 在…...

51单片机 04 编程

一、模块化编程 .c文件:函数、变量的定义 .h文件:可被外部调用的函数、变量的声明 函数在调用前必须有定义或者声明。 预编译:以#开头,作用是在真正的编译开始之前,对代码做一些处理(预编译&#xff09…...

基于Springboot框架的学术期刊遴选服务-项目演示

项目介绍 本课程演示的是一款 基于Javaweb的水果超市管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.该项目附…...

Vite:现代前端开发的利器

Vite:现代前端开发的利器 随着前端技术的快速发展,开发工具也在不断迭代和优化。Vite 是近年来备受关注的一款前端构建工具,它以极快的冷启动速度和高效的开发体验赢得了开发者的青睐。本文将详细介绍 Vite 的特点、工作原理以及它为何成为现…...

[蓝桥杯 2024 省 B] 好数

[蓝桥杯 2024 省 B] 好数 题目描述 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位……)上的数字是奇数,偶数位(十位、千位、十万位……)上的数字是偶数,我们就称之为“好数”。 …...

基于Flask的全国星巴克门店可视化分析系统的设计与实现

【FLask】基于Flask的全国星巴克门店可视化分析系统的设计与实现(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言,结合Flask框架进行后端开发&…...

2502,索界面3

原文 SonicUI,你从未见过的方便GUI引擎-源码 介绍 SonicUI是基于原生GDIAPI的GUI引擎.它提供了几个简单的UI组件来实现高效的UI效果,如自绘按钮,不规则窗口,动画,窗口中的网径和图像操作方法. 主要目的是用最少的代码来达到最佳效果. 背景 周知,UI开发一般重复用无趣.因此…...

基础笔记|splice()的用法

一、三种用法 splice(index, 0, element) 插入 元素,不删除任何元素。splice(index, deleteCount) 删除 deleteCount 个元素。splice(index, deleteCount, element1, element2, ...) 替换 元素,即删除 deleteCount 个元素,同时插入新的元素。…...

电商项目高级篇09-检索服务

电商项目高级篇09-检索服务 1、环境搭建1.1、前端静态文件准备1.2、search服务引入模版引擎1.3、index.html页面复制到templates文件夹下1.4、模仿product项目,引入名称空间1.5、动静分离,静态资源路径位置替换1.6、将1.1的静态资源放到nginx目录下1.7、…...

如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?

我使用DeepSeek AI和Dexscreener API构建的一个简单的 AI 加密交易机器人实现了这一目标。在本文中,我将逐步指导您如何构建像我一样的机器人。 DeepSeek 最近发布了R1,这是一种先进的 AI 模型。您可以将其视为 ChatGPT 的免费开源版本,但增加…...

Meta财报解读:营收超预期,用户增长放缓,AI与元宇宙仍是烧钱重点

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

2024美团秋招硬件开发笔试真题及答案解析

目录 一、单选题 1、C语言中变量有一系列的命名规则,下列选项中,属于错误的C语言变量命名规则的是() 2、以下 C 代码的运行结果是什么() 3、执行下面程序,正确的输出是() 4、以下不正确的定义语句是() 5、执行语句for (i = 2; i++ < 7;);后, i 的值变为()…...

利用Vue编写一个“计数器”

目录 一、利用Vue编写一个“计数器”的操作方法&#xff1a;二、html文件相关源代码三、CSS文件相关源代码四、代码执行效果展示如下 一、利用Vue编写一个“计数器”的操作方法&#xff1a; 1、data中定义计数器的相关数据&#xff0c;如num、min、max。 2、methods中添加计数…...

vscode搭建git

vscode搭建git 一、安装git二、vscode上搭建git(1) 先创建本地仓库再上传到远程仓库&#xff0c;远程仓库名是根据本地仓库名一致(2) 先创建远程仓库&#xff0c;再将本地仓库上传到指定远程仓库 一、安装git 网络教程很多&#xff0c;在此就不赘述了 参考&#xff1a;git安装…...

Dijkstra算法解析

Dijkstra算法&#xff0c;用于求解图中从一个起点到其他所有节点的最短路径。解决单源最短路径问题的有效方法。 条件 有向 带权路径 时间复杂度 O&#xff08;n平方&#xff09; 方法步骤 1 把图上的点分为两个集合 要求的起点 和除了起点之外的点 。能直达的写上权值 不…...

本地部署DeepSeek教程(Mac版本)

第一步、下载 Ollama 官网地址&#xff1a;Ollama 点击 Download 下载 我这里是 macOS 环境 以 macOS 环境为主 下载完成后是一个压缩包&#xff0c;双击解压之后移到应用程序&#xff1a; 打开后会提示你到命令行中运行一下命令&#xff0c;附上截图&#xff1a; 若遇…...

蓝桥杯算法笔记|差分学习

&#xff01;前情回顾 前缀和18437蓝桥账户中心 练习代码&#xff1a; #include <iostream> using namespace std; int main() {// 请在此输入您的代码int n,q;cin>>n>>q;int a[n];for(int i0;i<n;i){cin>>a[i];}int sum[n];sum[0]a[0];for(int …...

一文速览DeepSeek-R1的本地部署——可联网、可实现本地知识库问答:包括671B满血版和各个蒸馏版的部署

前言 自从deepseek R1发布之后「详见《一文速览DeepSeek R1&#xff1a;如何通过纯RL训练大模型的推理能力以比肩甚至超越OpenAI o1(含Kimi K1.5的解读)》」&#xff0c;deepseek便爆火 爆火以后便应了“人红是非多”那句话&#xff0c;不但遭受各种大规模攻击&#xff0c;即便…...

【Redis】主从模式,哨兵,集群

主从复制 单点问题&#xff1a; 在分布式系统中&#xff0c;如果某个服务器程序&#xff0c;只有一个节点&#xff08;也就是一个物理服务器&#xff09;来部署这个服务器程序的话&#xff0c;那么可能会出现以下问题&#xff1a; 1.可用性问题&#xff1a;如果这个机器挂了…...

结构体排序 C++ 蓝桥杯

成绩排序 #include<iostream> #include<algorithm> using namespace std; struct stu {string name;//名字int grade;//成绩 }; stu a[30]; bool cmp(stu l, stu r) {if (l.grade ! r.grade) return l.grade > r.grade;return l.name < r.name; } int main()…...

【通俗易懂说模型】线性回归(附深度学习、机器学习发展史)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;深度学习_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

Haproxy+keepalived高可用集群,haproxy宕机的解决方案

Haproxykeepalived高可用集群&#xff0c;允许keepalived宕机&#xff0c;允许后端真实服务器宕机&#xff0c;但是不允许haproxy宕机&#xff0c; 所以下面就是解决方案 keepalived配置高可用检测脚本 &#xff0c;master和backup都要添加 配置脚本 # vim /etc/keepalived…...

python学opencv|读取图像(五十六)使用cv2.GaussianBlur()函数实现图像像素高斯滤波处理

【1】引言 前序学习了均值滤波和中值滤波&#xff0c;对图像的滤波处理有了基础认知&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;五十四&#xff09;使用cv2.blur()函数实现图像像素均值处理-CSDN博客 python学opencv|读取图像&#xff08;…...

电梯系统的UML文档13

5.2.6 CarPositionControl 的状态图 图 24: CarPositionControl 的状态图 5.2.7 Dispatcher 的状态图 图 25: Dispatcher 的状态图 5.3 填补从需求到状态图鸿沟的实用方法 状态图能对类的行为&#xff0c;一个用例&#xff0c;或系统整体建模。在本文中&#xff0c;状态图…...

CSDN原力值提升秘籍:解锁社区活跃新姿势

在 CSDN 这个技术交流的大舞台上&#xff0c;原力值不仅是个人活跃度的象征&#xff0c;更是开启更多权益与福利的钥匙。最近&#xff0c;我出于自身需求&#xff0c;一头扎进了提升原力值的研究中&#xff0c;经过多方探索与资料整理&#xff0c;现在就迫不及待地把这些干货分…...

互联网行业常用12个数据分析指标和八大模型

本文目录 前言 一、互联网线上业务数据分析的12个指标 1. 用户数据&#xff08;4个&#xff09; (1) 存量&#xff08;DAU/MAU&#xff09; (2) 新增用户 (3) 健康程度&#xff08;留存率&#xff09; (4) 渠道来源 2. 用户行为数据&#xff08;4个&#xff09; (1) 次数/频率…...

gltf工具

gltf 在线工具 ONLINE 3D VIEWER 3dviewer.netgltf-viewer cos.3dzhanting.cnviewer www.niushifu.topglTF Viewer gltf-viewer.donmccurdy.comGLTF 在线编辑器 gltf.nsdt.cloudgltfeditor...

车载软件架构 --- 基于AUTOSAR软件架构的ECU开发流程小白篇

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 简单&#xff0c;单纯&#xff0c;喜欢独处&#xff0c;独来独往&#xff0c;不易合同频过着接地气的生活…...

Vue.js 如何选择合适的组件库

Vue.js 如何选择合适的组件库 大家在开发 Vue.js 项目的时候&#xff0c;都会面临一个问题&#xff1a;我该选择哪个组件库&#xff1f; 市面上有很多优秀的 Vue 组件库&#xff0c;比如 Element Plus、Vuetify、Quasar 等&#xff0c;它们各有特点。选择合适的组件库&#xf…...

JavaScript系列(58)--性能监控系统详解

JavaScript性能监控系统详解 &#x1f4ca; 今天&#xff0c;让我们深入探讨JavaScript的性能监控系统。性能监控对于保证应用的稳定性和用户体验至关重要。 性能监控基础概念 &#x1f31f; &#x1f4a1; 小知识&#xff1a;JavaScript性能监控是指通过收集和分析各种性能指…...

Flutter 与 React 前端框架对比:深入分析与实战示例

Flutter 与 React 前端框架对比&#xff1a;深入分析与实战示例 在现代前端开发中&#xff0c;Flutter 和 React 是两个非常流行的框架。Flutter 是 Google 推出的跨平台开发框架&#xff0c;支持从一个代码库生成 iOS、Android、Web 和桌面应用&#xff1b;React 则是 Facebo…...

AI-on-the-edge-device - 将“旧”设备接入智能世界

人工智能无处不在&#xff0c;从语音到图像识别。虽然大多数 AI 系统都依赖于强大的处理器或云计算&#xff0c;但**边缘计算**通过利用现代处理器的功能&#xff0c;使 AI 更接近最终用户。 本项目演示了使用 **ESP32**&#xff08;一种低成本、支持 AI 的设备&#xff09;进行…...

站在JavaScript的视角去看,HTML的DOM和GLTF的Json数据。

很多前端小伙伴没有见过、操作过gltf文件&#xff0c;对非常懵逼&#xff0c;本文从前端小伙伴最熟悉的dom模型为切入口&#xff0c;以类别的方式来学习一下gltf文件。 一、结构与组织形式 HTML DOM&#xff08;文档对象模型&#xff09;&#xff1a; 树形结构&#xff1a;HT…...

js --- 获取时间戳

介绍 使用js获取当前时间戳 语法 Date.now()...

冰蝎v3.0 beta7来啦

我用了一台kali&#xff0c;一台centos&#xff0c;一台windows&#xff0c;做了一个文件上传和一个反弹shell实验&#xff0c;载荷是AES加密的&#xff0c;终于感受到了对加密流量的无可奈何~ kali&#xff08;php8.1&#xff09;centos&#xff08;php7.1&#xff09;window…...

将markdown文件和LaTex公式转为word

通义千问等大模型生成的回答多数是markdown类型的&#xff0c;需要将他们转为Word文件 一 pypandoc 介绍 1. 项目介绍 pypandoc 是一个用于 pandoc 的轻量级 Python 包装器。pandoc 是一个通用的文档转换工具&#xff0c;支持多种格式的文档转换&#xff0c;如 Markdown、HTM…...

Elasticsearch Kibana的下载与安装

1.下载Elasticsearch安装包 Elastic — 搜索 AI 公司 | Elastic Download Elasticsearch | Elastic 2.下载Kibana安装包 Download Kibana Free | Get Started Now | Elastic http://localhost:5601/?code708785...

WPS计算机二级•幻灯片的配色、美化与动画

听说这是目录哦 配色基础颜色语言❤️使用配色方案&#x1fa77;更改PPT的颜色&#x1f9e1;PPT动画添加的原则&#x1f49b;PPT绘图工具&#x1f49a;自定义设置动画&#x1f499;使用动画刷复制动画效果&#x1fa75;制作文字打字机效果&#x1f49c;能量站&#x1f61a; 配色…...

高精度乘法(高×高)

高精度乘法&#xff08;高高&#xff09; 前言 ACWing算法基础课讲解了高低的乘法&#xff0c;这里高高作为一个进一步的补充&#xff0c;也是对闫总的板子做一个补充。 以下内容改编自《洛谷深入浅出》123页&#xff0c;我对代码进行了一点修改。 A*B Problem P1303 题目…...

出现 Can not find ‘Converter‘ support class Year 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 1. 问题所示 执行代码的时候,出现如下问题: 2025-02-03 19:16:23.638 |...

一表总结 Java 的3种设计模式与6大设计原则

设计模式通常分为三大类&#xff1a;创建型、结构型和行为型。 创建型模式&#xff1a;主要用于解决对象创建问题结构型模式&#xff1a;主要用于解决对象组合问题行为型模式&#xff1a;主要用于解决对象之间的交互问题 创建型模式 创建型模式关注于对象的创建机制&#xf…...

蓝桥与力扣刷题(141 环形链表)

题目&#xff1a;给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的…...