《网络协议》04. 应用层(DNS & DHCP & HTTP)

网络协议从入门到底层原理-百度网盘 下载链接: 链接:https://pan.baidu.com/s/1lMQynRDlrTGfoXXM0eBUfQ 密码:mtmv 如果失效VX: 1041432957 基本概念 01 【回放】基本概念 02 集线器_网桥_交换机 【回放】集线器_网桥_交换机 03 MAC地址_IP地址_子网掩码 【回放】MAC地址_IP地址_子网掩码 04 超网_静态路由 【回放】超网_静态路由 05 局域网_NAT 【回放】局域网_NAT 06 物理层_数据链路层 【回放】物理层. 阅读详情

title: 《网络协议》04. 应用层(DNS & DHCP & HTTP)
date: 2022-09-05 14:28:22
updated: 2023-11-12 06:55:52
categories: 学习记录:网络协议
excerpt: 应用层、DNS、DHCP、HTTP(URI & URL,ABNF,报文格式,请求方法,状态码,头部字段,Form 提交,同源策略)。
comments: false
tags:
top_image: /images/backimg/SunsetClimbing.png



网络协议从入门到底层原理。

1:网络互连模型

为了更好地促进互联网络的研究和发展,国际标准化组织 ISO 在 1985 年制定了网络互连模型:OSI 参考模型(Open System Interconnect Reference Model)。

  • 国际标准:OSI 参考模型(7层)
  • 实际应用:TCP/IP 协议(4层)
  • 学习研究:(5层)

在这里插入图片描述

1.1:请求过程

在这里插入图片描述

1.2:网络分层

在这里插入图片描述

2:应用层

应用层常见的协议有:

  • 超文本传输:HTTP、HTTPS
  • 文件传输:FTP
  • 电子邮件:SMTP、POP3、IMAP
  • 动态主机配置:DHCP
  • 域名系统:DNS

3:DNS

DNS,Domain Name System,域名系统。

  • 利用 DNS 协议,可以将域名解析成对应的 IP 地址
  • DNS 可以基于 UDP 协议,也可以基于 TCP 协议,服务占用 53 端口

在这里插入图片描述

3.1:域名

由于 IP 地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(Domain Name)(比如 baidu.com)。

但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的 IP 地址。

域名申请注册:https://wanwang.aliyun.com/

为什么不直接全程用域名,不用 IP 地址?
IP 地址固定 4 个字节,域名随随便便都至少 10 几个字节,这无疑会增加路由器的负担,浪费流量。

根据级别不同,域名可以分为:

  • 顶级域名(Top-Level Domain,TLD)
  • 二级域名
  • 三级域名
  • …

通用顶级域名(General Top-level Domain,gTLD):

.com(公司)
.net(网络机构)
.org(组织机构)
.edu(教育)
.gov(政府部门)
.int(国际组织)
......

国家及地区顶级域名(Country Code Top-level Domain,ccTLD)

.cn(中国)
.jp(日本)
.uk(英国)
......

新通用顶级域名(New Generic Top-level Domain,New gTLD)

.vip
.xyz
.top
.club
.shop
......

二级域名是指顶级域名之下的域名。

在通用顶级域名下,它一般指域名注册人的名称。例如 google、baidu、microsoft 等(例:google.com、baidu.com、microsoft.com)

在国家及地区顶级域名下,它一般指注册类别。例如 com、edu、gov、net 等(例:china.com.cn)

在这里插入图片描述

3.2:DNS 服务器

  • 客户端首先会访问最近的一台 DNS 服务器(也就是客户端自己配置的 DNS 服务器)
  • 所有的 DNS 服务器都记录了 DNS 根域名服务器的 IP 地址
  • 上级 DNS 服务器记录了下一级 DNS 服务器的 IP 地址

全球一共 13 台 IPv4 的 DNS 根域名服务器、25 台 IPv6 的 DNS 根域名服务器

3.3:相关命令

Windows 下与 DNS 相关的命令。

查看 DNS 缓存记录:
ipconfig /displaydns

清空 DNS 缓存记录:
ipconfig /flushdns

解析 DNS:
nslookup <域名>

ping 会自动解析 DNS:
ping <域名>

4:DHCP

DHCP(Dynamic Host Configuration Protocol),动态主机配置协议。

DHCP 协议基于 UDP 协议,客户端使用 68 端口,服务器使用 67 端口(双方端口都固定)。

DHCP 服务器会从 IP 地址池中,挑选一个 IP 地址 “ 出租 “ 给客户端一段时间,时间到期就回收。

平时家里上网的路由器就可以充当 DHCP 服务器。

4.1:IP 地址分配

IP 地址按照分配方式可以分为:静态 IP 地址、动态 IP 地址。

静态 IP 地址:

  • 手动设置
  • 适用场景:服务器、不怎么挪动的台式机等

动态 IP 地址:

  • 从 DHCP 服务器自动获取 IP 地址
  • 适用场景:移动设备、无线设备等

分配 IP 的四个阶段:

  1. DISCOVER:发现服务器
    • 发广播包(源 IP 是 0.0.0.0,目标 IP 是 255.255.255.255,目标 MAC 是 FF:FF:FF:FF:FF:FF)
  2. OFFER:提供租约
    • 服务器返回可以租用的 IP 地址,以及租用期限、子网掩码、网关、DNS 等信息
    • 注意:这里可能会有多个服务器提供租约
  3. REQUEST:选择 IP 地址
    • 客户端选择一个 OFFER,发送广播包进行回应
  4. ACKNOWLEDGE:确认
    • 被选中的服务器发送 ACK 数据包给客户端
    • 至此,IP 地址分配完毕

图示:

在这里插入图片描述

4.2:补充

DHCP 服务器可以跨网段分配 IP 地址吗?(DHCP 服务器、客户端不在同一个网段)

  • 可以借助 DHCP 中继代理(DHCP Relay Agent)实现跨网段分配 IP 地址

自动续约:

  • 客户端会在租期不足的时候,自动向 DHCP 服务器发送 REQUEST 信息申请续约。

4.3:相关命令

Windows 下相关的命令。

查看 DHCP 相关的详细信息,比如租约过期时间、DHCP 服务器地址等:
ipconfig /all

释放租约:
ipconfig /release

重新申请 IP 地址、申请续约(延长租期):
ipconfig /renew

5:HTTP

HTTP(Hyper Text Transfer Protocol),超文本传输协议。

  • 互联网中应用最广泛的应用层协议之一
  • 设计 HTTP 最初的目的:提供一种发布和接收 HTML 页面的方法,由 URI 来标识具体的资源
  • 发展至今 HTTP 传递的数据格式不仅仅是 HTML,应用非常广泛

HTML( Hyper Text Markup Language),超文本标记语言。用以编写网页

HTTP 版本:

  • 1991 年,HTTP/0.9
    • 只支持 GET 请求方法获取文本数据
    • 不支持请求头、响应头等
  • 1996 年,HTTP/1.0
    • 支持 POST、HEAD 等请求方法
    • 支持请求头、响应头等
    • 支持更多种数据类型,不再局限于文本数据
    • 每次请求都需要与服务器建立一个 TCP 连接,请求处理完成后立即断开 TCP 连接
  • 1997 年,HTTP/1.1
    • 最经典、使用最广泛的版本
    • 支持 PUT、DELETE 等请求方法
    • 采用持久连接(Connection: keep-alive),多个请求可以共用同一个 TCP 连接
  • 2015 年,HTTP/2.0
  • 2018 年,HTTP/3.0

HTTP 的标准:

由万维网协会(W3C)、互联网工程任务组(IETF)协调制定,最终发布一系列的 RFC(Request For Comments,请求意见稿)

RFC 官网:
https://www.rfc-editor.org

报文格式图示:

在这里插入图片描述

5.1:URN & URI & URL

URN(Universal Resource Name,统一资源名称)
URL(Uniform Resource Locator,统一资源定位符)
URI(Uniform Resource Identifier,统一资源标识符)

URL 给出资源位于哪里(哪台主机、哪个路径、哪个文件夹)
URl 给出具体某资源的定位路径(从资源自身出发,给出可达的路径)

# URI 语法规则:
scheme://user:pass@host.domain:port/path/filename?id=1#ch1

# URL 语法规则:
scheme://host.domain:port/path/filename

# 解释:
scheme     定义因特网服务的类型。最常见的类型是 http
user:pass  认证登录信息
host       定义域主机(http 的默认主机是 www)
domain     定义因特网域名,比如 baidu.com
port       定义主机上的端口号(http 的默认端口号是 80)
path       定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)
filename   定义文档/资源的名称
id=1       查询字符串
ch1        片段标识

URL 属于 URI。

URL 编码:URL 中出现的一些特殊字符(比如中文、空格),需要进行 URL 编码。

在浏览器地址栏输入 URL 时,采用 UTF-8 进行编码。

URL 在线编解码:
https://tool.oschina.net/encode?type=4

比如:

编码前:https://www.baidu.com/s?wd=百度
编码后:https://www.baidu.com/s?wd=%E7%99%BE%E5%BA%A6

5.2:ABNF

ABNF(Augmented BNF)

  • 是 BNF(Backus-Naur Form,巴科斯 - 瑙尔范式)的修改、增强版
  • 在 RFC 5234 中表明:ABNF 用作 internet 中通信协议的定义语言
  • ABNF 是最严谨的 HTTP 报文格式描述形式,脱离 ABNF 谈论 HTTP 报文格式,往往都是不严谨的

核心规则:

在这里插入图片描述

5.3:报文格式

  • 整体格式:

在这里插入图片描述

标记解释
/任选一个
*0 个或多个。2 * 表示至少 2 个,3 * 6 表示 3 到 6 个
()组成一个整体
[]可选(可有可无)
  • request-line 格式:

在这里插入图片描述

  • status-line 格式:

在这里插入图片描述

  • header-filed 格式:

在这里插入图片描述

  • message-body 格式:

在这里插入图片描述

  • 关于 HTTP 报文格式的定义:

RFC 2616 4.HTTP Message(旧)
RFC 7230 3.Message Format(新)

5.4:请求方法

目前有 9 种请求方法。

RFC 7231, section 4: Request methods:描述了 8 种请求方法:
GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE

RFC 5789, section 2: Patch method:描述了 PATCH 方法

  • GET:
    常用于读取的操作,请求参数直接拼接在URL的后面(浏览器对URL是有长度限制的)
  • POST:
    常用于添加、修改、删除的操作,请求参数可以放到请求体中(没有大小限制)
  • HEAD:
    请求得到与GET请求相同的响应,但没有响应体
  • OPTIONS:
    用于获取目的资源所支持的通信选项,比如服务器支持的请求方法
  • PUT:
    用于对已存在的资源进行整体覆盖
  • PATCH:
    用于对资源进行部分修改(资源不存在,会创建新的资源)
  • DELETE:
    用于删除指定的资源
  • TRACE:
    请求服务器回显其收到的请求信息,主要用于HTTP请求的测试或诊断
  • CONNECT:
    可以开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道(tunnel)

5.5:状态码

状态码(Status Code)。指示 HTTP 请求完成状态。

在 RFC 2616 10.Status Code Definitions 规范中定义。

状态码可以分为 5 类:

  • 1XX:信息响应
  • 2XX:成功响应
  • 3XX:重定向
  • 4XX:客户端错误
  • 5XX:服务器错误

常见状态码:

  • 100 Continue:
    请求的初始部分已经被服务器收到,并且没有被服务器拒绝。客户端应该继续发送剩余的请求。如果请求已经完成,就忽略这个响应。
    • 允许客户端发送带请求体的请求前,判断服务器是否愿意接收请求
    • 在某些情况下,如果服务器在不看请求体就拒绝请求时,客户端就发送请求体是不恰当的或低效的
  • 200 OK:
    请求成功。
  • 302 Found:
    请求的资源被暂时的移动到了由 Location 头部指定的 URL 上。
  • 304 Not Modified:
    说明无需再次传输请求的内容,也就是说可以使用缓存的内容。
  • 400 Bad Request:
    由于语法无效,服务器无法理解该请求。
  • 401 Unauthorized:
    缺乏目标资源要求的身份验证凭证。
  • 403 Forbidden:
    服务器端有能力处理该请求,但是拒绝授权访问。
  • 404 Not Found:
    服务器端无法找到所请求的资源。
  • 405 Method Not Allowed:
    服务器禁止了使用当前 HTTP 方法的请求。
  • 406 Not Acceptable:
    服务器端无法提供与 Accept-Charset 以及 Accept-Language 指定的值相匹配的响应。
  • 408 Request Timeout:
    服务器想要将没有在使用的连接关闭。
    • 一些服务器会在空闲连接上发送此信息,即便是在客户端没有发送任何请求的情况下
  • 500 Internal Server Error:
    所请求的服务器遇到意外的情况并阻止其执行请求。
  • 501 Not Implemented:
    请求的方法不被服务器支持,因此无法被处理。
    • 服务器必须支持的方法(即不会返回这个状态码的方法)只有 GET 和 HEAD
  • 502 Bad Gateway:
    作为网关或代理角色的服务器,从上游服务器(如tomcat)中接收到的响应是无效的。
  • 503 Service Unavailable:
    服务器尚未处于可以接受请求的状态。
    • 通常造成这种情况的原因是由于服务器停机维护或者已超载

5.6:头部字段

头部字段(Header Field)可以分为 4 种类型:

  • 请求头字段(Request Header Fields)
    有关要获取的资源或客户端本身信息的消息头
  • 响应头字段(Response Header Fields)
    有关响应的补充信息,比如服务器本身(名称和版本等)的消息头
  • 实体头字段(Entity Header Fields)
    有关实体主体的更多信息,比如主体长度(Content-Length)或其 MIME 类型
  • 通用头字段(General Header Fields)
    同时适用于请求和响应消息,但与消息主体无关的消息头

5.6.1:请求头字段

====================================================================
头字段名            说明                                  
====================================================================
User-Agent         浏览器的身份标识字符串。
--------------------------------------------------------------------
Host               服务器域名、端口号。
--------------------------------------------------------------------
Date               发送该消息的日期和时间。
--------------------------------------------------------------------
Referer            表示浏览器访问的前一个页面,
                   正是那个页面上的某个链接
                   将浏览器带到了当前所请求的这个页面。
--------------------------------------------------------------------
Content-Type       请求体的类型
--------------------------------------------------------------------
Content-Length     请求体的长度(字节为单位)
--------------------------------------------------------------------
Accept             能够接受的响应内容类型
--------------------------------------------------------------------
Accept-Charset     能够接受的字符集
                   q 的值越大,优先级越高
                   默认为 1.0 (最大值)
--------------------------------------------------------------------
Accept-Encoding    能够接受的编码方式列表
--------------------------------------------------------------------
Accept-Language    能够接受的响应内容的自然语言列表
--------------------------------------------------------------------
Range              仅请求某个实体的一部分。
                   字节偏移以 0 开始
--------------------------------------------------------------------
Origin             发起一个针对跨域资源共享的请求
--------------------------------------------------------------------
Cookie             之前由服务器通过 Set-Cookie 发送的 Cookie
--------------------------------------------------------------------
Connection         该浏览器想要优先使用的连接类型
--------------------------------------------------------------------
Cache-Control      用来指定在这次请求/响应链中的所有缓存机制都必须遵守的指令
====================================================================

5.6.2:响应头字段

====================================================================
头字段名                        说明                                  
====================================================================
Date                           发送该消息的日期和时间
--------------------------------------------------------------------
Last-Modified                  所请求的对象的最后修改日期
--------------------------------------------------------------------
Server                         服务器的名称
--------------------------------------------------------------------
Expires                        指定一个时间,超过该时间则认为此响应已过期
--------------------------------------------------------------------
Content-Type                   响应体的类型
--------------------------------------------------------------------
Content-Encoding               内容所使用的编码类型
--------------------------------------------------------------------
Content-Length                 响应体的长度(字节为单位)
--------------------------------------------------------------------
Content-Disposition            一个可以让客户端下载文件并建议文件名的头部
--------------------------------------------------------------------
Accept-Ranges                  服务器支持哪些种类的部分内容范围
--------------------------------------------------------------------
Content-Range                  这条部分消息是属于完整消息的哪部分
--------------------------------------------------------------------
Access-Control-Allow-Origin    指定哪些网站可以参与到跨域资源共享
--------------------------------------------------------------------
Location                       进行重定向,或者在创建了某个新资源时使用
--------------------------------------------------------------------
Set-Cookie                     返回一个 Cookie 让客户端保存
--------------------------------------------------------------------
Connection                     针对该连接所预期的选项
--------------------------------------------------------------------
Cache-Control                  向从服务器到客户端在内的所有缓存机制告知,
                               它们是否可以缓存这个对象。(单位为秒)
====================================================================

5.7:Form 提交

常用属性:

  • action:请求的 URI
  • method:请求方法(GET、POST)
  • enctype:POST 请求时,请求体的编码方式
    • application/x-www-form-urlencoded(默认值)
      用【&】分隔参数,用【=】分隔键和值,字符用 URL 编码方式进行编码
    • multipart/form-data
      文件上传时必须使用这种编码方式

multipart/form-data:参考 RFC 1521

在这里插入图片描述

5.8:同源策略

浏览器有个同源策略(Same-Origin Policy)。它规定默认情况下,AJAX 请求只能发给同源的 URL。

同源是指 3 个相同:协议、域名(IP)、端口。

在这里插入图片描述

img、script、link、iframe、video、audio 等标签不受同源策略的约束。

CORS(Cross-Origin Resource Sharing,跨域资源共享),解决 AJAX 跨域请求的常用方法。

CORS 的实现需要客户端和服务器同时支持。

  • 客户端:基本所有的浏览器都支持
  • 服务器:需要返回相应的响应头(比如 Access-Control-Allow-Origin),告知浏览器这是一个允许跨域的请求

清浊易辨,邪正难辨。

——《冰鉴》(清)曾国藩

linux常见协议及对应端口 1.FTP协议:文件传输协议 port:21 下载文件 传输主页 2.telnet 远程登陆端口 port:23 用户可以以自己的身份远程连接到计算机上,通过此端口可以提供类似DOS窗口的操作 3.SMTP(邮件传输协议) port: 25 用于发送邮件 SMTP真正关心的不是邮件如何被传送,而只关心邮件是否能顺利到达目的地。 4、HTTP(超文本传输协议)(80)(常见) 5、DNS(域名解析服务):(53)(常见) 6、DHCP:服务器端... 阅读详情

相关推荐

【网络协议】精讲计算机网络协议架构,图解超赞超详细!!!

想掌握计算机网络协议基本架构,看完这篇文章就够啦!!!

风云说通信 3037

计算机网络协议应用层,应用层网络协议有哪些

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示...

weixin_42494742的博客 2324

c#下使用EmguCV操作摄像头和最简单的人脸检测

c#下使用EmguCV操作摄像头和最简单的人脸检测 http://blog.csdn.net/a582127421/article/details/77745580

应用层协议——DNS、DHCP、HTTP、FTP

如 .gov 代表的是政府部门,.cn 代表的是中国地区,二者都是顶级域名,但是在 www.gov.cn 中,.cn 是顶级域名,而 .gov 是二级域名(在一个完整的域名中,最右侧的是顶级域名,往左分别为二、三……此外,Hosts文件还可以加快域名解析,对于要经常访问的网站,我们可以通过在Hosts中配置域名和IP的映射关系,提高域名解析速度。,这些参数根据不同的请求方法,可能会在不同的地方,如 GET 和 DELETE 请求的参数通常拼接在 URL 中,这样的参数也分为查询参数和路径参数。

@zhujj_的博客 7900

载波同步技术(一):BPSK的Costas Loop 载波同步

Author:McCrocodile 2010/11/04          载波的提取在相干解调中往往比较重要,根据信号中是否包含载频分量,载波同步一般也可以分为两种方法。包含载频分量的可以采用窄带滤波或者基本的锁相环环路来实现,不包含的则比较麻烦需要采用特殊的环路实现载波的同步。这里介绍的BPSK的载波恢复就属于后面一种。 对于不包含载频分量的信号载波同步一般有:同相-正交环(就是常说的Costas环)、判决反馈环(几乎可以适用所有调制方式)、同相-正交环衍生环(QPSK松尾环、N相同相-正交环)。

McCrocodile Blog 1万+

鸿蒙实战开发教程-注册登录页面

在密码输入框中,只要设置TextInput的类型就可以实现带眼睛logo的密码输入框效果:

2401_82546228的博客 3559

网络协议:应用层

无

weixin_62775913的博客 2628

使用cubeMX生成USB HID设备

本文主要介绍如何使用stm32开发板和cubeMX生成HID设备,供参考。

专注音频,高效工作,快乐生活! 970

打开“世界观”-全球FPGA厂商大盘点

FPGA这一万能芯,是可定制与专用芯片之间的中间产品,也是不可或缺的一类芯片,上可行成定制芯片,下可简单替换专用芯片(某些方面不如专用芯片),也是军事和航空航天领域重要的芯片种类,也是各国都会首先突破的芯片赛道,本文总结了含eFPGA、反熔丝FPGA在内,全球共30余家,国内10多家FPGA厂商。以下排名不分先后~美国,共有9家1.AMD(Xilinx)https://china.xilinx....

OpenFPGA的博客 4287

阿里系acw_sc__v3滑块验证码逆向分析与实战破解

本文深入解析阿里系acw_sc__v3滑块验证码的核心机制与逆向破解方法。通过分析加密参数生成、轨迹验证模块和动态加密策略,提供完整的自动化破解方案,包括设备指纹生成、缺口识别和轨迹加密等关键技术。文章还分享了常见问题的调试技巧,帮助开发者应对阿里系验证码的复杂防护体系。

wdx012345的博客 1830

第四节、C# 上位机面向对象编程详解(工控硬件继承实战版)

继承核心价值:在 C# 上位机工控开发中,继承的核心是通用逻辑复用与接口统一,将所有硬件的通用属性 / 方法封装到抽象基类,子类只需实现独有逻辑,大幅减少冗余代码。基类设计要点:优先使用抽象基类,合理分配访问修饰符(privateprotectedpublic),定义通用事件与虚方法,提供资源释放机制,兼顾复用性与扩展性。子类设计要点:通过: base()调用基类构造函数,强制实现抽象方法(保证接口统一),选择性重写虚方法(实现独有逻辑),复用基类的protected成员。多设备管理。

kylezhao2019的博客 787

Wireshark - 【学习笔记】(Ubuntu18.04)、协议分析(IP、ARP、ICMP、DNS、UDP、TCP、DHCP、HTTP、HTTPS、FTP、Telnet)

在csdn看到好的文章想转载,无奈找不到转载的功能,只能想办法了。 首先确定原文允许转载 在文章开头处一般有版权声明,如图 转载时要注明出处和作者 如何转载 用谷歌浏览器加载文章地址,打开文章 F12打开Developer Tools,并打开Elements页面 将文章开头部分的文字作为关键字在Elements界面搜索 以此文为例:h...

LawssssCat的博客 4442

分布式光纤传感(DFOS)DTS/DAS/DSS 三合一:10公里管线监测实战与数据解读

本文详细介绍了分布式光纤传感(DFOS)技术在10公里管线监测中的实战应用,通过DTS(温度)、DAS(振动)、DSS(应变)三合一系统,实现对管线健康状态的立体感知。文章涵盖工程部署、数据采集、多物理量数据融合及噪声抑制等关键技术,展示了如何通过一根光纤完成复杂监测任务,显著提升管线安全性和维护效率。

weixin_29168153的博客 315

网络协议学习(B站观看最多)

网络协议学习网络协议第01天:基本概念为什么要学习网络协议学习中需要搭建的环境网络协议 网络协议 第01天:基本概念 思考:数据是如何从一个设备传递到另一个设备的? 这一切都是由网络协议来规定的。没有网络协议,就没有今天的互联网 为什么要学习网络协议 互联网、移动互联网、物联网,都离不开网络协议 最熟悉的网络协议:HTTP 为了满足各种需求,有各式各样的网络协议(HTTPS、SMTP、MQTT、RTMP等) 每一种网络协议应用场景不一样 学习中需要搭建的环境 客户端-服务器开发环境 客户端:浏览器

weixin_52125240的博客 5497

别再瞎猜了!三角形接法PMSM的相电流到底怎么算?实测线电流转换公式与避坑指南

本文深入解析三角形接法永磁同步电机(PMSM)在FOC控制中的相电流计算误区,提供实测线电流转换公式与避坑指南。针对矢量控制系统中常见的√3换算错误,详细阐述正确的电流重构算法、硬件采样要点及软件优化技巧,帮助工程师实现精确控制并避免电机损坏。

weixin_30367873的博客 466

C# 从数秒到毫秒:MySQL+Redis百万数据优化实战全解析

在处理百万级数据时,传统单体数据库常面临查询效率低下、数据库负载过高和用户体验差等问题。为解决这些性能瓶颈,可以采用MySQL分库分表、Redis缓存和异步统计的组合策略。 数据库分片:通过水平分表和分库实现,将单表数据分散到多个物理表或数据库实例中,降低单点负载。 Redis缓存:利用Redis缓存高频数据,减少数据库查询压力,提升响应速度。 异步统计:通过消息队列(如RabbitMQ)解耦统计任务,后台处理非实时任务,避免阻塞主流程。 这些优化策略能够显著提升系统性能,确保在高并发和大数据量场景下的稳定

墨夶的博客 852

网络协议理解

常见协议及其端口号 协议 端口号 HTTP 80 FTP 20数据、21控制 DNS 53 DHCP 67服务、68客户 HTTPS 443 Telnet 23远程登录 OSI七层模型与TCP/IP五层模型 五层模型 七层模型 含义 协议 应用层 为应用程序提供服务 HTTP、FTP、DNS(udp) 应用层 表示层 数据的格式转换、加...

kkkkk777的博客 385

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

网络协议栈分层详解:从链路层到应用层的核心协议与抓包排查指南

在软件开发与运维中,TCP/IP协议栈是理解网络通信的基石。计算机网络通过分层设计,将复杂的通信过程拆解为链路层、网络层、传输层和应用层,每一层各司其职,使问题定位有清晰路径。链路层负责同一链路内的帧传输,网络层处理跨网寻址与路由,传输层保障端到端的可靠性,应用层则承载业务语义。掌握各层核心协议(如ARP、IP、TCP、HTTP等),并学会使用Wireshark或tcpdump进行抓包分析,是高效排查网络故障的关键能力。无论是接口超时、连接被重置,还是DNS解析异常,遵循从底层到上层的分层排查思路,能显著减

weixin_34072296的博客 327

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机网络--TCP/IP

从链路层到传输层,完整的发包过程撕开给你看,当然也只是从一个萌新的角度看~

qq_34707209的博客 794

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【网络技术】【Kali Linux】Wireshark嗅探(十三)IGMP(因特网组管理)协议报文捕获及分析

IGMP协议(因特网组管理协议)的全称为Internet Group Management Protocol,为传输层(第4层)的协议,目前具有4个版本(IGMPv0~IGMPv3)。IP主机用它将主机的多点发送成员人数报告给临近的多点发送路由器。

weixin_43031313的博客 1098

网页请求过程 Webpage Request (不包含TCP握手)

前言: 网络七层协议(通常简化为5类) 层数 功能 应用 第七层 内容层 如:网页,视频,博客… 第五到七层 应用层 如:http,邮件,文件传输,直播… 第四层 传输层 TCP堵塞控制,UDP 第三层 网络层 IP地址,路由 第一二层 物理层,连接层 以太网,Wi-Fi,DSL… 1. 输入网页地址前: 在浏览器输入网址前,电脑在连接进互联网时会通过DHCP协议,向服务器请求得到自己的IP地址。 在整个过程起始前,假设电脑首次连接到网络,还没有自己的IP和MAC地址等。

Jeremiah_218的博客 273

RP2040+W5500通过DHCP自动获取IP的MicroPython固件编译与配置指南

在嵌入式物联网开发中,实现设备的网络连接是基础且关键的一步。其核心原理在于微控制器通过硬件或软件协议栈处理TCP/IP网络通信,从而赋予设备联网能力。这项技术的价值在于极大简化了嵌入式设备的网络接入复杂度,提升了开发效率和系统稳定性,是实现智能硬件、远程监控、数据采集等应用的基石。典型的应用场景包括工业传感器节点、智能家居终端和便携式网络设备等。本文聚焦于基于RP2040微控制器和WIZnet W5500硬件协议栈芯片的组合,深入探讨如何通过编译定制MicroPython固件,并配置DHCP客户端,实现设备

weixin_30340819的博客 307

从零配置DHCP服务器:手把手教你搭建动态IP分配环境

本文详细介绍了如何从零开始搭建企业级DHCP服务器,实现动态IP地址分配。文章深入解析了DHCP协议的DORA工作流程与租约机制,并提供了在Linux系统上部署ISC DHCP服务的完整实战教程,涵盖基础配置、高级策略(如固定IP保留、多地址池划分)以及与PXE网络启动的TFTP服务集成,最后给出了故障排查与安全加固的实用建议。

pz8901234的博客 785

字节一面:“为什么网络要分层?每一层的职责、包含哪些协议?”

这样,等真的沉下心来学习,不至于被找资料分散了心神。另外,给大家安排了一波学习面试资料:以上就是本文的全部内容,希望对大家的面试有所帮助,祝大家早日升职加薪迎娶白富美走上人生巅峰!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!这样,等真的沉下心来学习,不至于被找资料分散了心神。另外,给大家安排了一波学习面试资料:[外链图片转存中…(img-DDUDvNkE-1713637587772)]

2401_84048895的博客 778

网络协议笔记 目录

网络协议学习笔记

墨1024 494

基础知识---计算机各层网络协议 (图)

计算机各层网络协议  FROM:http://www.cnblogs.com/maowang1991/archive/2013/04/16/3024393.html 应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP)  DHCP(Dynamic Host Configuration Protocol)动态主机分配协议,使用 UDP 协议工作,主要有两个用途:给内部网

MohnSnow,Winter is Coming!!! 1040
上一篇: 《网络协议》03. 传输层(TCP & UDP)
下一篇: 《网络协议》05. 网络通信安全 · 密码技术
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值