互联网基础
TCP/IP协议(协议组)
分层名称 | TCP/IP协议 |
应用层 | HTTP,FTP,mDNS,WebSocket,OSC... |
传输层 | TCP,UDP |
网络层 | IP |
链路层(网络接口层) | Ethernet,Wi-Fi... |
链路层(网络接口层)
链路层的主要作用是实现设备之间的物理链接。举例来说,我们日常使用的WiFi就是链路层协议中的一种。
ESP8266利用WiFi联网时有三种工作模式。
接入点模式(Access Point)
无线终端模式(Wireless Station)
混合模式
网络层
IP地址
IP协议版本
IPv4
由四个十进制数组成(例如:192.168.0.4)
IPv6
由8组16进制数组成
查找本机的IP方法
在cmd中输入ipconfig回车就会出现以下效果
网关
网关是物联网(IoT)和智能设备系统中的关键设备,它充当着不同网络和设备之间的桥梁。简单来说,网关负责连接不同行业和技术的设备,使得它们能够相互通信。
网关的主要功能:
- 协议转换:将不同通信协议的设备连接起来,如Wi-Fi与Zigbee之间的转换。
- 数据转发:将设备采集的数据传输到云端或其他系统。
- 安全性保障:保护数据安全,防止未经授权的访问。
- 本地处理:在设备间进行数据分析和处理,减少延迟。
- 设备管理:监控和管理连接的设备状态。
传输层
TCP协议
特点:稳 (应用领域:电子邮件,文件传输)
保证所有数据都能被接收端接收,数据的传输顺序不会打乱,传输数据如有损坏则重发受损数据
UDP协议
特点:快(在线语音/视频,网游)
UDP比TCP速度快
不保证所有数据都能被接收端接收
数据一旦受损的,UDP协议将抛弃
受损数据。
有数据损坏不会重发受损数据
应用层
HTTP协议
(HyperText Transfer Protocol,超文本传输协议)是用于在客户端(如浏览器)与服务器之间传输超文本数据的协议。它是Web(万维网)上数据交换的基础协议,广泛应用于网站、应用程序的访问和数据交换。
HTTP的工作原理:
HTTP是一个基于请求/响应模式的协议,客户端(通常是浏览器)向服务器发送请求,服务器处理请求后返回响应。整个过程通常包括以下步骤:
-
客户端发送请求:浏览器或其他客户端向服务器发送请求,通常包括:
- 请求方法(如 GET、POST、PUT、DELETE)
- URL(统一资源定位符,表示资源的地址)
- 请求头(包含客户端信息、支持的格式等)
- 请求体(在 POST 或 PUT 请求中,包含发送的数据)
-
服务器处理请求:服务器接收到请求后,根据请求的内容和资源进行处理,可能需要从数据库中获取数据或执行其他操作。
-
服务器发送响应:服务器处理完请求后,将处理结果通过HTTP响应返回给客户端。响应通常包括:
- 状态码(如 200 表示成功,404 表示资源未找到)
- 响应头(包含返回的元数据,如服务器类型、缓存设置等)
- 响应体(包含请求的资源内容,如HTML页面、图片、JSON数据等)
常见的HTTP请求方法:
- GET:请求获取资源(如网页、图片等),不会对服务器上的数据做修改。
- POST:提交数据到服务器,通常用于表单提交或数据上传。
- PUT:更新服务器上的资源(例如,修改某个文件)。
- DELETE:请求删除服务器上的资源。
- HEAD:类似于 GET 请求,但服务器只返回响应头,不返回具体的资源内容。
- OPTIONS:查询服务器支持的请求方法。
DNS服务器
DNS(域名系统)的主要功能是将域名(如 www.example.com
)转换为计算机能够理解的IP地址(如 192.0.2.1
)。这一转换使得用户能够通过易记的域名访问互联网资源,而无需记住复杂的IP地址。
具体功能包括:
- 域名解析:将用户输入的域名解析为对应的IP地址。
- 分布式查询:通过多个层级的DNS服务器(如根DNS服务器、TLD服务器、权威DNS服务器)进行递归查询,确保快速获取IP地址。
- 缓存机制:DNS服务器和客户端缓存解析结果,减少查询时间,提高访问效率。
- 负载均衡:通过解析不同的IP地址来分散访问负载,提高网站的可靠性与速度。
总的来说,DNS是互联网通信中的关键技术,确保用户能够通过友好的域名访问网络资源。
相关文章:
互联网基础
TCP/IP协议(协议组) 分层名称TCP/IP协议应用层HTTP,FTP,mDNS,WebSocket,OSC...传输层TCP,UDP网络层IP链路层(网络接口层)Ethernet,Wi-Fi... 链路层(网络接口层) 链路层的主要作用…...
ffmpeg.js视频播放(转换)
chrome 临时设置SharedArrayBuffer "C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-featuresSharedArrayBuffer 引用的js及相关文件 ffmpeg.min.js ffmpeg.min.js.map ffmpeg-core.js ffmpeg-core.wasm ffmpeg-core.worker.js 以上几个现…...
后端 Java发送邮件 JavaMail 模版 20241128测试可用
配置授权码 依赖 <dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.5.5</version> </dependency> <dependency><groupId>com.sun.mail</groupId><artifa…...
电脑中的vcruntime140_1.dll文件有问题要怎么解决?一键修复vcruntime140_1.dll
遇到“vcruntime140_1.dll无法继续执行代码”的错误通常表明电脑中的vcruntime140_1.dll文件有问题。这个文件属于Visual C Redistributable,对很多程序的运行至关重要。本文将提供几个步骤,帮助你迅速修复这一错误,使电脑恢复正常工作状态。…...
探索 Vue 3.0中Treeshaking特性?
Vue 3.0 中的 Tree Shaking 特性 Tree Shaking 是一种优化技术,旨在通过静态分析代码,去除未使用的模块或函数,从而减小最终的打包文件大小。在 Vue 3.0 中,由于其模块化设计和代码按需引入的特性,Vue 的 Tree Shaking 特性得到了增强,能够有效地去除那些在生产环境中未…...
Paddle Inference部署推理(十)
十:Paddle Inference推理 (python)API详解 9. 启用内存优化 API定义如下: # 开启内存 / 显存复用,具体降低内存效果取决于模型结构 # 参数:None # 返回:None paddle.inference.Config.enable…...
万能门店小程序管理系统 doPageGetFormList SQL注入漏洞复现
0x01 产品简介 万能门店小程序管理系统是一款功能强大的工具,旨在为各行业商家提供线上线下融合的全方位解决方案。是一个集成了会员管理和会员营销两大核心功能的综合性平台。它支持多行业使用,通过后台一键切换版本,满足不同行业商家的个性化需求。该系统采用轻量后台,搭…...
全面+彻底解决VMware安装后没有VMnet1和VMnet8的问题
目录 1、摘要 (1)问题 (2)所用工具 ① Everything软件 ② CCleaner软件 2、问题的检查与确认 3、解决过程 (1)卸载已经安装的VMware (2)设置services.mcs:服务自…...
什么是堆?
堆(Heap):堆可以看做是一颗用数组实现的二叉树,所以它没有使用父指针或者子指针。堆根据“堆属性”来排序,“堆属性”决定了树中节点的位置。 堆的特性 1.堆是完全二叉树,除了树的最后一层节点不需要是满的…...
微距动物和植物摄影后期森系风格Lr调色教程,手机滤镜PS+Lightroom预设下载!
调色教程 微距动物和植物摄影后期采用森系风格的 Lightroom 调色,将微距下的动植物世界打造成充满自然气息和梦幻感的画面。这种调色风格旨在突出动植物的细腻之美,同时营造出宁静、清新的森林氛围。 预设信息 调色风格:森系风格预设适合类…...
Qt6.8安卓Android开发环境配置
时隔多年,重拾QtCreator下Android开发。发现Qt6下安卓开发环境配置变简单不少!只需三步即可在QtCreator下进行Android开发: 一、使用Qt Mantenance Tool进行Android模块的安装: 如果感觉安装网速较慢,可以查看本人另外…...
RK3568部署yolo8记录
本教程记录自己一下在RK3568上部署yolo8的步骤 板端驱动 在板端,首先查看rknpu驱动是否安装、存在。若键入下面的命令有返回则,证明驱动已安装。 dmesg | grep -i rknpu 瑞芯微官方说,驱动版本最好大于0.9.2。但是我看有的博主说ÿ…...
数据可视化复习2-绘制折线图+条形图(叠加条形图,并列条形图,水平条形图)+ 饼状图 + 直方图
目录 目录 一、绘制折线图 1.使用pyplot 2.使用numpy 编辑 3.使用DataFrame 编辑 二、绘制条形图(柱状图) 1.简单条形图 2.绘制叠加条形图 3.绘制并列条形图 4.水平条形图 编辑 三、绘制饼状图 四、绘制散点图和直方图 1.散点图 2…...
JavaScript原生深拷贝方法 structuredClone使用
structuredClone 简介 structuredClone 是现代浏览器提供的原生 JavaScript 方法,用于深拷贝对象。它可以处理各种复杂数据结构,包括嵌套对象、数组、Date、Map、Set 等,且支持循环引用。 语法 const clone structuredClone(value);value:…...
SpringBoot无法使用jkd8问题
1. 解决SpringBoot无法使用jdk8问题 创建一个高 jkd 版本,如 jkd21 在创建项目后,将 pom.xml中的 jdk 版本改为8,找到下图所在位置修改即可。 此外将 SpringBoot 的版本修改为 2 开头的 如2.7.4 ,然后 刷新 Maven 项目即可。 在 …...
使用 Jina Embeddings v2 在 Elasticsearch 中进行后期分块
作者:来自 Elastic Gustavo Llermaly 在 Elasticsearch 中使用 Jina Embeddings v2 模型并探索长上下文嵌入模型的优缺点。 在本文中,我们将配置和使用 jina-embeddings-v2,这是第一个开源 8K 上下文长度嵌入模型,首先使用 semant…...
QT简易项目 数据库可视化界面 数据库编程SQLITE QT5.12.3环境 C++实现
案例需求: 完成数据库插入,删除,修改,查看操作。 分为 插入,删除,修改,查看,查询 几个模块。 代码: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget…...
python json.dump()和json.dumps()的区别
用人话总结一下 json.dump()是针对文件的json和python的转换 json.dumps()主要是针对内容数据 json.dumps(obj, skipkeysFalse, ensure_asciiTrue, check_circularTrue, allow_nanTrue, clsNone, indentNone, separatorsNone, encoding“utf-8”, defaultNone, sort_keysFalse…...
网络流学习笔记
注:笔者是蒟蒻,所以本文几乎是干货,枯燥无味甚至可能会引人不适,请读者谨慎阅读。 为了笔者快爆掉的肝点个赞好吗??? Part.1 网络流基础定义 一个有向带权图 G ( V , E ) G(V,E) G(V,E) 是…...
Mybatis PLUS查询对List使用OR模糊查询
Mybatis PLUS查询对List使用OR模糊查询 1、版本2、代码3、效果 1、版本 Mybatis PLUS版本:3.5.7 注意:版本3.1.2及以下是需要return的 因当前为高版本,代码中已将 return 注释。 2、代码 QueryWrapper<Object> queryWrapper new Que…...
Debezium日常分享系列之:Debezium Engine
Debezium日常分享系列之:Debezium Engine 依赖打包项目在代码中输出消息格式消息转换消息转换谓词高级记录使用引擎属性异步引擎属性数据库模式历史属性处理故障 Debezium连接器通常通过部署到Kafka Connect服务来运行,并配置一个或多个连接器来监视上游…...
I.MX6U 裸机开发20. DDR3 内存知识
I.MX6U 裸机开发20. DDR3 内存知识 一、DDR3内存简介1. DDR发展历程SRAMSDRAMDDR1DDR2DDR3DDR4DDR5 2. 开发板资源3. DDR3的时间参数1. 传输速率2. tRCD3. CL 参数作用取值范围工作原理4. tRC参数原理单位与取值5. tRAS重要性及作用 二、I.MX6U MMDC 控制器1. MMDC简介…...
【R安装】VSCODE安装及R语言环境配置
目录 VSCODE下载及安装VSCODE上配置R语言环境参考 Visual Studio Code(简称“VSCode” )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器&…...
ES更新问题 Failed to close the XContentBuilder异常
问题描述 使用RestHighLevelClient对文档进行局部更新的时候报错如下: Suppressed: java.lang.IllegalStateException: Failed to close the XContentBuilderat org.elasticsearch.common.xcontent.XContentBuilder.close(XContentBuilder.java:1011)at org.elast…...
svn-git下载
windows: svn 客户端:-------------- TortoiseSVN 安装 下载地址:https://tortoisesvn.net/downloads.html, 页面里有语言包补丁的下载链接。 目前最新版为 1.11.0 下载地址: https://osdn.net/projects/tortoisesvn/storage/1.…...
10个Word自动化办公脚本
在日常工作和学习中,我们常常需要处理Word文档(.docx)。 Python提供了强大的库,如python-docx,使我们能够轻松地进行文档创建、编辑和格式化等操作。本文将分享10个使用Python编写的Word自动化脚本,帮助新…...
Paddle Inference部署推理(十八)
十八:Paddle Inference推理 (C)API详解 3. 使用 CPU 进行预测 注意: 在 CPU 型号允许的情况下,进行预测库下载或编译试尽量使用带 AVX 和 MKL 的版本 可以尝试使用 Intel 的 MKLDNN 进行 CPU 预测加速,默…...
Redis开发02:redis.windows-service.conf 默认配置文件解析与注解
文件位置:redis安装目录下的 redis.windows-service.conf ,存放了redis服务的相关配置,下面列举出默认配置的含义: 配置项含义bind 127.0.0.1限制 Redis 只监听本地回环地址,意味着只能从本地连接 Redis。protected-m…...
redis大key和热key
redis中大key、热key 什么是大key大key可能产生的原因大key可能会造成什么影响如何检测大key如何优化删除大key时可能的问题删除大key的策略 热key热key可能导致的问题解决热key的方法 什么是大key 大key通常是指占用内存空间过大或包含大量元素的键值对。 数据量大ÿ…...
Dubbo 最基础的 RPC 应用(使用 ZooKeeper)
看国内的一些项目时 Dubbo 这个词经常闪现,一直也不以为然,未作搜索,当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后,觉得不能再对它视而不见。Google 了一下,它是在阿里巴巴创…...
适合初学者做的网站/seo整站优化费用
Kafka发送消息是异步的,因此如果没有设置异步回调异常处理,很容易导致消息丢失而且系统不知道的情况的。 因此我们在业务有需要的情况下,配置好消息的可靠性参数。 主要配置以下参数 max.block.ms acks all or -1 retries Integer.MAX_VA…...
一般做音响的有哪些网站/线上推广策划方案范文
相关文章: Top K problem 堆实现 找到无序数组中最小(最大)的k个数_fareast_mzh的博客-CSDN博客 使操作被快速执行的性质是堆序(heap order)性. 由于我们想要快速地找出最小元,因此最小元应该在根上. 类似的,可以声明一个max堆,找到和删除最…...
做第三方网站注意什么意思/搜索引擎排名优化方案
VMWare16 安装 Ubuntu16.04.7 1. 下载Ubuntu镜像 下载地址:http://mirrors.163.com/ubuntu-releases/ 本机是32位的话,就选择i386;本机是64位的话,就选择amd64 2. 安装步骤 3. 安装VMware Tools 启动虚拟机,在虚拟机管理界面…...
ipv6域名解析 做网站/列表网推广收费标准
某天晚上凌晨突然收到一封国外boss的需求文件过来,附件夹带着一个excel文件,没来得及看密密麻麻的英文邮件内容,怀着忐忑不安的心情打开附件,以为又是一个难搞的复杂需求,结果内容只有一条。关掉附件,常出了…...
关于网站建设方案/网站备案流程
目录 一、优化概述 二、查询与索引优化分析 1性能瓶颈定位 Show命令 慢查询日志 explain分析查询 profiling分析查询 2索引及查询优化 三、配置优化 1) max_connections 2) back_log 3) interactive_timeout 4) key_buffer_size 5) query_cache_size …...
建设网站的安全性介绍/沈阳seo排名外包
一个 if 语句后可跟一个可选的 else 语句,else 语句在布尔表达式为 false 时执行。语法: --------------------------------------------------------------------- if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 / } else { / 如果布尔表达式为假将…...