网络原理3-应用层(HTTP/HTTPS)
目录
- DNS
- HTTP/HTTPS
- HTTP协议报文
- HTTP的方法
- 请求报头、响应报头(header)
- 状态码
- 构造HTTP请求
- HTTPS
应用层是我们日常开发中最常用的一层,因为其他层:传输层、网络层、数据链路层、物理层这些都是操作系统和硬件、驱动已经实现好的,我们只能使用人家的。应用层我们可以使用别人已经创建好的协议(HTTP等),也可以自己定义应用层协议
自定义应用层协议要做的事情:
1、明确前后端交互的过程中,需要传递哪些信息
2、明确组织这些信息的格式,前后端要是同一种方式
网络通信常见的数据格式有:xml、JSON、yml
1、xml
采用成对的标签,类似于HTML,但是xml的标签可以自定义,例如 < userID > 1011< userID/>
2、JSON
采用键值对的形式,键和值使用冒号分开,例如 {“userID”:1011,“username”:“zhangsan”}
3、yml
强制了数据组织的格式,要求键值对必须占据一行
DNS
DNS是一个应用层协议,DNS就是域名解析系统。域名对应一个或者多个IP地址,或者多个域名对应一个IP地址。由于IP地址不方便记忆并且不能显示地址组织的名称和性质,人们设计出了域名,并通过域名系统(DNS,Domain Name System)来将域名和IP地址相互映射,使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址数串,把域名转换成IP地址,这样的系统就叫域名解析系统。
当某个电脑需要进行域名解析,直接会访问DNS服务器。全世界有非常多设备上网,一个服务器是顶不住的,所以有了镜像服务器。当服务器数据有变更,只需要修改基准的服务器(也叫根服务器),其他镜像服务器从根服务器中同步数据。
HTTP/HTTPS
HTTP全称:HyperTransferProtocol,超文本传输协议,这里的文本指的是字符串,而超文本是在文本的基础上的扩展,也就是说,HTTP不仅可以传输文本,也可以传输图片、音频等其他数据,HTTP是最广泛使用的应用层协议。HTTPS可以认为是HTTP的升级版,安全性比HTTP高。除了安全性外,其他部分都是一样的。HTTP是一问一答模型的协议,客户端发一个请求,服务器就返回一个响应。
HTTP应用场景:
1、使用浏览器,打开网页
2、打开手机App,加载相关的信息
3、服务器之间的调用,大概率也是使用的HTTP
现在HTTP已经更新至3.0版本,3.0基于UDP,但是我们最常使用的还是HTTP/1.1(基于TCP)
HTTP协议报文
在学习HTTP协议报文格式前,我们可以借助抓包工具,来了解HTTP请求响应的详细情况。
选择Fiddler进行抓包
下载网址
选择Fiddler Classic
选择Try For Free
邮箱随便填一个,国家随便填一个,然后点击Download For Windows
打开软件后
点击Tools,然后点击Options
点击HTTPS,以上4个选项全部勾选,
工具的使用:
在使用前,先选中左边,ctrl+a+delete清除列表
然后再随便打开一个网页,在网页中点击刷新,这里拿CSDN网页举例
此时,会显示抓取到的数据报列表,双击CSDN的数据报列表
右上方部分是请求,右下方部分是响应
选择Raw,此时列出的是原始的HTTP请求
如果想要更清楚的观察,可以点击View in Notepad,在记事本中打开
但是响应的文本显示的是乱码,因为这里的数据是压缩后的二进制数据
此时点击如下按钮即可
很容易发现,响应其实就是HTML
HTTP协议的请求:
1)首行
GET https://www.csdn.net/ HTTP/1.1
GET表示HTTP请求的方法(method) ,中间部分是URL,表示访问的资源,HTTP/1.1指的是HTTP的版本是1.1版本
2)请求头(红框框)部分
请求头的每一行都是一个键值对,键和值用冒号分割。
3)空行(请求头的结束标记)
4)正文(body)
有的请求是没有body的,有的有body
如抓取gitee
HTTP请求的基本格式
HTTP协议的响应
1)首行
HTTP/1.1 200 OK
HTTP/1.1表示版本,200表示状态码,OK是状态码的描述
2)响应头
响应头的每一行也是一个键值对,键值对之间用冒号分割
3)空行
4)正文(body)
响应的正文通常是HTML、CSS、JS等
HTTP响应的基本格式:
URL
URL是唯一资源定位符,网络上的资源可以是一个网页、一个图片、一个文件
协议名://ip地址:端口号/带层次的路径/资源名称?查询字符串#片段标识符
协议方案名:指使用的是哪种协议
登录信息:进行身份认证,现在已经见不到了
服务器地址:要访问的资源的服务器地址,可以是IP也可以是域名
服务器端口号:IP是确定唯一的主机,端口号是确定主机上的程序,如果不写端口号,浏览器会根据协议类型,自动分配端口,如果是HTTP,端口号是80,如果是HTTPS,端口号是443
带层次的文件路径:确定服务器上的具体资源,
查询字符串:查询字符串是程序猿自定义的键值对结构,是针对访问的资源进行补充说明,键值对之间使用&分割,键和值之间使用=分割,等号两边不能有空格
片段标识符:标识页面中的某个部分,常见于文档类文件。例如某个文档网站中,点开目录,每个章节会对应一个片段标识符
URL encode:
查询字符串是键值对结果,但是它的值里面可能包含特殊符号,而URL中有的特殊符号是有重要意义的,如果值出现了特殊符号,在解析的时候可能会出现问题,所以需要转义,URL encode的作用就是把这些特殊意义的字符进行转义。
例如,在浏览器搜索c++,
此处把 + 字符转义成 %2B 了
转义规则:把要转义的字符或者汉字,每个字节以16进制的形式表示出来,然后给每个字节前面加上%
例如,在浏览器中搜索 你好,复制地址栏的URL
得到如下内容
https://cn.bing.com/search?q=%E4%BD%A0%E5%A5%BD&qs=n&form=QBRE&sp=-1&lq=0&pq=%E4%BD%A0%E5%A5%BD&sc=10-2&sk=&cvid=A7357277519D4F10A61D2542BB754587&ghsh=0&ghacc=0&ghpl=
根据utf编码查得你好这两个字的16进制编码
HTTP的方法
方法描述了HTTP请求的动作想要干什么,HTTP的方法如下
方法 | 说明 | 支持的HTTP协议版本 |
---|---|---|
GET | 获取资源 | 1.0 、1.1 |
POST | 传输实体主体 | 1.0 、1.1 |
PUT | 传输文件 | 1.0 、1.1 |
HEAD | 获取报文首部 | 1.0 、1.1 |
DELETE | 删除文件 | 1.0 、1.1 |
OPTIONS | 询问支持的方法 | 1.1 |
TRACE | 追踪路径 | 1.1 |
CONNECT | 要求用隧道协议连接代理 | 1.1 |
LINK | 建立和资源之间的联系 | 1.0 |
UNLINK | 断开连接关系 | 1.0 |
常用的方法有GET、POST,重点掌握这两个
**GET:**直接在浏览器中输入一个URL,就会触发GET请求
打开Fiddler,在CSDN主页,按住Ctrl点击刷新,Fiddler会获取到如下的内容
这里说明了,访问一个网页并不是一个HTTP请求就能完成的,而是需要多个HTTP请求得到的结果。
上述带有csdn的都是这个页面触发的请求,其实就是css文件、JavaScript文件、图片文件、字体文件等,在你的浏览器第一次访问这个网页时,会把这些资源保存到你的电脑上,以后再访问的时候就不需要再次获取这些内容了,这个机制就叫浏览器缓存,这样的机制加快了页面展示速度,节省服务器宽度。直接点击刷新,是从缓存中读取数据,按住Ctrl再点刷新可以强制忽略缓存,重新从服务器读取数据。
POST
通常出现在登录、注册以及上传文件的场景
例如,登录Gitee的请求:
POST和GET的区别:
首先,这两个方法没有本质区别,POST能用的GET也能用,但是在使用习惯上有区别
1、语义不同:一般来说,GET用于表示从服务器获取数据,POST表示提交数据给服务器。
2、传递数据的方式不同:一般来说,GET传递数据,通过是通过query string,把自定义的数据提交给服务器;POST是通过body把自定义数据交给服务器。
3、GET方法对应的请求,通常设计成幂等的,POST方法对幂等性没有要求。幂等: 是其任意多次执行所产生的影响均与一次执行的影响相同,(牛今天吃草,今天挤出来的是奶,明天吃草明天挤出来的也是奶,结果非常稳定,就是幂等的,如果今天吃草今天挤出来的是史,那就是不幂等)。这个区别在今天不是非常合适了,实际开发中还是需要看具体的业务要求,但是http标准文档中建议这么做
4、GET如果设计成幂等性,此时GET的结果可以缓存,POST不设计成幂等性一般不会缓存
请求报头、响应报头(header)
header是键值对格式的,常见的报头:
1、Host:
表示服务器主机的地址和端口
2、Content-Length、Content-Type:
Length表示body中数据的长度,单位字节,Type表示body中数据的格式。如果请求、响应中没有body,也就没有这两个字段。HTTP是基于TCP的(1.1版本),TCP是面向字节流,存在粘包问题,有了Length、Type就能知道HTTP数据包从哪开始从哪结束。Content-Length和Content-Type在响应和请求中都会存在
常见的Content-Type的取值:
Content-Type:text/html;charset=utf8
Content-Type:text/css
Content-Type: application/javascript;charset=utf8
Content-Type: application/jason
3、User-Agent
例如:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0
主要包含了操作系统信息(版本)和浏览器信息(版本),表述了你用的什么设备上网
4、Referer
描述了当前页面是从哪个页面跳转过来的,例如,在搜狗搜索主页中搜索哔哩哔哩,打开哔哩哔哩的主页
5、Cookie
Cookie也是键值对结构的,使用;分割键值对,使用=分割键和值,键值对的含义是程序员自定义的
Cookie是浏览器给网站提供的一种“客户端存储数据”的机制
浏览器禁止网页直接访问咱们的硬盘,但是浏览器允许网页通过键值对的方式存储数据,这样的键值对数据是浏览器负责存储到咱们的硬盘中,网页不能干涉。
浏览器在第一次访问某个网站时,浏览器中可能没有Cookie,服务器返回的响应会带有Set-Cookie,Cookie中的键值对就会写到浏览器中,浏览器收到Cookie就会存储到本地硬盘中。接下来浏览器访问网站时,就会带有Cookie
如何查看Cookie?
可以选择删除Cookie,删除之后本地存储的Cookie也会删除掉,在下一次访问这个网站时,服务器返回的响应会带有Set-Cookie,浏览器会根据这个重新存储Cookie。
总结:
Cookie是什么?
浏览器本地持久化存储数据的机制,按照键值对方式存储,键值对内容程序员可以自定义,按照域名为维度分别进行存储,每个网站都有自己的Cookie,互不影响。
Cookie从哪里来?
服务器返回的响应数据中会包含Set-Cookie字段。
Cookie到哪里去?
Cookie虽然会存储到本地,但是目的并不如此,存储好之后,后续浏览器再次访问同一个网站的服务器时,会把之前存储的Cookie带上,发送给服务器。为什么发回来还要再发回去?Cookie中的数据在客户端中需要使用到,在服务器这边也要使用到。
Cookie中存储的键值对是程序员自己定义的
Cookie经典使用场景:
总结:
常见的HTTP响应头属性:
- Content-Type: 指定返回的资源的MIME类型。
- Content-Length: 指定返回的资源的长度,单位是字节。
- Cache-Control: 控制响应的缓存行为。
- Connection: 控制持久连接。
- Date: 消息发出的时间。
- ETag: 资源的版本/修订号。
- Expires: 资源的过期时间。
- Last-Modified: 资源最后被修改的时间。
- Server: 服务器软件名称。
- Set-Cookie: 设置客户端的cookie。
- WWW-Authenticate: 用于HTTP认证。
- Access-Control-Allow-Origin: 跨域资源共享(CORS)策略。
- X-Frame-Options: 控制资源是否可以在iframe中显示。
- Content-Disposition: 控制内容的下载方式。
- Content-Encoding: 指定内容的编码格式。
- Content-Language: 指定内容的语言。
- Content-Security-Policy: 定义了网页的资源加载策略。
- Strict-Transport-Security: 告诉浏览器仅通过HTTPS连接。
- X-Content-Type-Options: 防止MIME类型混淆攻击。
- X-XSS-Protection: 启用浏览器的XSS过滤和阻断功能。
- Location: 用于重定向的URL。
- Retry-After: 告诉客户端在多长时间后再次发起请求。
- Vary: 告诉缓存服务器何时需要重新请求。
- Accept-Ranges: 指定服务器是否支持范围请求。
- Allow: 指定允许的HTTP方法。
- Cross-Origin-Embedder-Policy: 控制跨源嵌入策略。
- Cross-Origin-Opener-Policy: 控制跨源窗口行为。
- Cross-Origin-Resource-Policy: 控制跨源资源的加载策略。
常见的HTTP请求属性:
- Accept: 客户端能够处理的媒体类型。
- Accept-Language: 客户端能够接受的语言。
- Accept-Encoding: 客户端能够接受的编码格式。
- Authorization: 客户端发送的认证信息。
- Cache-Control: 客户端的缓存指令。
- Connection: 控制持久连接。
- Content-Length: 请求体的长度。
- Content-Type: 请求体的媒体类型。
- Cookie: 客户端发送的cookie信息。
- Host: 请求的服务器域名和端口。
- Origin: 请求的源。
- Referer: 请求的来源URL。
- User-Agent: 客户端的用户代理信息。
- X-Requested-With: 通常用于标识Ajax请求。
请求头用于向服务器提供额外的信息,以帮助服务器正确处理请求。
状态码
状态码表示访问一个页面请求是否成功,以及请求失败的原因
常见的状态码:
200 OK : 表示成功
404 Not Found :表示浏览器根据url访问的资源在服务器上没有找到,url的路径不对
403 Forbidden :访问被拒绝(没有权限)
405 Method Not Allowed :方法不支持
500 Internal Server Error :服务器内部错误,一般是服务器端代码出bug,抛出异常但是没有catch
504 Gateway Timeout :超时,响应没有在规定时间内返回
302 Found :重定向,访问A网站时会自动跳转到B网站,此时响应中返回的状态码就是302,并且在响应头中Location属性(包含B网站的地址)。浏览器收到302状态码后会自动跳转到Location中的网站。
构造HTTP请求
使用工具Postman,下载链接
点击next
这样就可以自己构造HTTP请求了
HTTPS
HTTP协议内容是以文本的形式明文传输,传输的数据容易被黑客、运营商劫持和篡改,HTTPS在HTTP的基础上,引入了加密机制,解决了上述的问题。
明文:传输的原始数据
密文:对明文进行加密后的数据
加密:明文–>密文
解密:密文–>明文
密钥:进行加密、解密的工具
对称加密:加密和解密都使用同一个密钥
非对称加密:使用一对密钥,使用A加密就使用B解密,使用B加密则使用A解密。这两个密钥一个公开一个私藏,公开的叫公钥,私藏的叫私钥。
关于HTTPS的工作过程:
这里只介绍加密过程,因为HTTPS是在HTTP基础上引入了加密机制,其他内容都是一样的。
未加密:客户端明文传输数据,很容易被黑客入侵,获取到请求的内容,并进行篡改
1、引入对称加密
一个服务器对应多个客户端,每个客户端的密钥都不同,要求每个客户端连上服务器的时候自己随机生成一个对称密钥,服务器拿到这个密钥才能进行解密,因此密钥也需要进行传输。
但是,密钥是明文传输的,黑客很容易获取到密钥。
2)引入非对称加密:
通过非对称加密,对要传输的密钥进行加密,而传输的数据还是使用对称加密。
上述流程看似安全,实则存在缺陷
3)引入证书
问题的关键是,能让客户端辨别出拿到的公钥是不是正确的。如何证明公钥是正确的?引入第三方公证机构,想搭建服务器,使用HTTPS,就需要在公证机构申请证书。申请证书时就要向机构提供信息:网站的域名,备案号,公钥等,公证机构根据这些信息生成一个证书(电子版),证书的内容包含了证书发布机构、证书有效期、公钥、证书所有者、签名等。签名则是保证证书合法性的重要内容。
服务器申请到证书后,后续客户端从服务器拿公钥,就不是拿公钥,而是拿整个证书。客户端可以根据证书的签名来验证证书的合法性。
签名的生成:校验和+加密,把证书中的所有字段综合在一起计算校验和,然后公证机构生成一对公钥私钥,公证机构持有私钥,公钥分发给客户端,公证机构拿着私钥对校验和进行加密得到数字签名。数字签名其实就是加密后的校验和。
客户端验证数字签名:
1、客户端把证书中各个字段再计算一次校验和,得到checksum1
2、客户端使用公证机构发的公钥对数字签名进行解密得到checksum2
3、比较,如果checksum1==checksum2证明当前证书和服务器发出的证书是一样的,如果checksum1!=checksum2,说明证书的内容被黑客篡改过。
客户端手里的公证机构的公钥是操作系统内置的,而不是通过网络获取的,所以不存在公证机构的公钥是黑客伪造的。
另外黑客不能做到:篡改数据后,让数字签名解密出来的checksum1和篡改后的checksum2相等,因为黑客篡改数据后需要使用公证机构的私钥来加密。如果黑客自己生成一个私钥,这时客户端拿着公证机构的公钥,也解密不了。
总结:HTTPS工作流程
1、引入对称加密
2、传输对称密钥
3、对 对称密钥进行加密,引入非对称加密
4、中间人攻击
5、引入证书,解决中间人攻击
相关文章:
网络原理3-应用层(HTTP/HTTPS)
目录 DNSHTTP/HTTPSHTTP协议报文HTTP的方法请求报头、响应报头(header)状态码构造HTTP请求HTTPS 应用层是我们日常开发中最常用的一层,因为其他层:传输层、网络层、数据链路层、物理层这些都是操作系统和硬件、驱动已经实现好的,我们只能使用…...
JVM(HotSpot):堆空间(Heap)以及常用相关工具介绍
文章目录 一、内存结构图二、堆的定义三、堆内存溢出四、堆内存排查工具 一、内存结构图 二、堆的定义 1、通过new关键字创建的对象,都会放到堆空间中。 2、它是线程共享的,堆中的对象都要考虑线程安全问题。 那有同学肯定会问,方法内通过n…...
【Python语言初识(六)】
一、网络编程入门 1.1、TCP/IP模型 实现网络通信的基础是网络通信协议,这些协议通常是由互联网工程任务组 (IETF)制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定,例如怎样建立连接、怎样互相识别等,…...
使用root账号ssh登录虚拟机ubuntu
在C:\Users\Administrator\.ssh目录下的config中,添加ubuntu会在根目录中,建立一个root文件夹。在该文件夹中建一个.ssh目录。像免密登录ubuntu设置中,把公钥考进去。在vscode中打开文件夹中选择要打开的文件夹,就可以不需要在ubu…...
五子棋双人对战项目(1)——WebSocket介绍
目录 一、项目介绍 如何实现实时同步对局? 二、WebSocket 1、什么是WebSocket? 2、WebSocket的报文格式 opcode payload len payload data 3、WebSocket握手过程 4、WebSocket代码的简单编写 三、WebSocket 和 HTTP的关系 1、相同点…...
rabbitMq------信道管理模块
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言信道管理的字段申明/删除交换机申明/删除队列绑定/解绑消息的发布消息确认订阅队列取消订阅信道内存管理类打开信道关闭信道/获取指定信道 总结 前言 信道是在…...
如何只用 CSS 制作网格?
来源:how-to-make-a-grid-like-graph-paper-grid-with-just-css 在看 用于打印到纸张的 CSS 这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较…...
Linux安装RabbitMQ安装
1. RabbitMQ介绍 1.1 RabbitMQ关键特性 异步消息传递:允许应用程序在不直接进行网络调用的情况下交换消息。 可靠性:支持消息持久化,确保消息不会在系统故障时丢失。 灵活的路由:支持多种路由选项,包括直接、主题、…...
SpringBoot驱动的社区医院信息管理平台
1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理社区医院信息平台的相关信息成为必然。开发…...
MyBatis-Plus如何分页查询?
MyBatis-Plus提供了一种简单而强大的分页查询功能,可以通过使用Page对象和Mapper接口中的方法来实现。以下是分页查询的基本步骤: 添加分页插件依赖 确保你的项目中已经添加了MyBatis-Plus的分页插件依赖。 <dependency><groupId>com.bao…...
云原生之容器编排实践-OpenEuler23.09离线安装Kubernetes与KubeSphere
背景 有互联网的日子确实美好,不过有时候,仅仅是有时候,你可能会面临离线部署 Kubernetes 与 KubeSphere 集群的要求。。 我们借助由青云开源的容器平台, KubeSphere 来进行可视化的服务部署。 KubeSphere 是在 Kubernetes 之上…...
构建企业数字化转型的战略基石——TOGAF框架的深度解析
数字化时代的企业变革需求 在全球范围内,数字化转型已成为企业提高竞争力、优化运营流程、提升客户体验的核心战略。数字技术的迅猛发展,不仅改变了传统行业的运作模式,也迫使企业重新思考其业务架构和技术基础设施。TOGAF(The O…...
docker -私有镜像仓库 - harbor安装
文章目录 1、镜像仓库简介2、Harbor简介3、下载与安装3.1、下载3.2、安装3.2.1、上传harbor-offline-installer-v2.8.2.tgz到虚拟机中解压并修改配置文件3.2.2、解压tgz包3.2.3、切换到解压缩后的目录下3.2.4、准备配置文件3.2.5、修改配置文件 4、启动Harbor5、启动关闭命令6、…...
头号积木玩家——软件工程专业职业生涯规划报告
说明:本报告为博主在浙江科技学院(现浙江科技大学)就读软件工程本科专业时,在必修课程《计算机导论》中撰写的报告。(报告主体2021年11月定稿,有删改) 标题说明:在电影《头号玩家》…...
Redis(初步认识和安装)
初识Redis 认识NoSQLSQL结构化:structure关联的:RelationalSQL查询ACID NoSQL非结构化无关联的非SQLBASE 认识Redis安装Redis 认识NoSQL SQL和NoSQL比较 SQL 结构化:structure 数据库中表的字段都有固定的结构 关联的:Relati…...
计算机网络:计算机网络概述:网络、互联网与因特网的区别
文章目录 网络、互联网与因特网的区别网络分类 互联网因特网基于 ISP 的多层次结构的互连网络因特网的标准化工作因特网管理机构因特网的组成 网络、互联网与因特网的区别 若干节点和链路互连形成网络,若干网络通过路由器互连形成互联网 互联网是全球范围内的网络…...
网络编程套接字TCP
前集回顾 上一篇博客中我们写了一个UDP的echo server,是一个回显服务器:请求是啥,响应就是啥 一个正常的服务器,要做三个事情: 读取请求并解析根据请求,计算响应把响应写回到客户端 DatagramPacket res…...
Git
Git-2.34.1-64-bitGit-2.34.1-64-bitTortoiseGit-2.4.0.2-64bitTortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN 下载Git-2.34.1-64-bit、TortoiseGit-2.4.0.2-64bit、TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN,依次安装。 # 配置本地Git的用户名与邮箱 git c…...
【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。
1、winR 2、输入:services.msc 3、找到下面红框内的服务 4、右键后,点击重启任务,重启任务后,再次按热键即可恢复亮度调节。...
ubuntu20.04.6 触摸屏一体机,外接视频流盒子开机输入登录密码触屏失灵问题解决方法
1. 首先直接运行xrandr命令,查看设备的相关信息: 运行之后会显示当前连接设备的屏幕信息,如下图,LVDS和VGA-0,而HDMI屏幕为disconnect,意为没有连接: 2. 设置开机主屏幕显示: xrand…...
师生健康信息管理:SpringBoot技术指南
第3章 系统分析 3.1 需求分析 师生健康信息管理系统主要是为了提高工作人员的工作效率和更方便快捷的满足用户,更好存储所有数据信息及快速方便的检索功能,对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性,…...
手机/平板端 Wallpaper 动态壁纸文件获取及白嫖使用指南
Wallpaper 动态壁纸文件获取及使用指南 目录 壁纸文件获取手机 / 平板使用手机 / 平板效果预览注意事项PC/Mac 使用 1. 壁纸文件获取链接 链接:夸克网盘分享 复制链接到浏览器打开并转存下载即可。 (主页往期视频的 4K 原图和 mpkg 动态壁纸文件…...
【软件工程】模块化思想概述
一、定义 模块化(modularization),也称为模组化,是产品设计以及项目管理中被广泛使用的一种设计理念。 模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部…...
解决方案:机器学习中,出现欠拟合和过拟合,这两种情况分别如何解决
文章目录 一、现象二、解决方案欠拟合(Underfitting)过拟合(Overfitting) 一、现象 在工作中,在机器学习中,出现欠拟合和过拟合的时候,需要有对应的解决方法,所以整理一下 二、解决…...
腾讯 25 届秋招算法工程师面经
最近已有不少大厂都在秋招宣讲了,也有一些在 Offer 发放阶段。 节前,我们邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对新手如何入门算法岗、该如何准备面试攻略、面试常考点、大模型技术趋势、算法项目落地经验分享等热门话题进行了…...
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…...
开源黑科技!Fish Speech TTS模型完美支持8种语言
开源黑科技!Fish Speech TTS模型完美支持8种语言 Fish Speech是一款神奇的AI语音克隆工具🎤,可快速模仿用户声音,支持八种语言🌍,简单易用,适合所有人👶。它在客服、新闻播报和在线…...
算法知识点————数论和链表
1、n数和 2数和 有序(递增):头尾相加,和目标值比较无序:哈希表(target - cur) 多数和: 先排序 拿一个数(检测 i 和i-1 重复的不选择) 2数和问题 &am…...
NASA:ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003
目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 ATLAS/ICESat-2 L3B Daily and Monthly Gridded Polar Sea Surface Height Anomaly V003 ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003 简介 ATLAS/ICESat-2 L3B Daily and Monthly G…...
Java类设计模式
1、单例模式 核心:保证一个类只有一个对象,并且提供一个访问该实例的全局访问点 五种单例模式:主要:饿汉式:线程安全,调用效率高,不能延时加载懒汉式:线程安全,调用效率…...
wordpress文章末尾显示tag标签/厦门谷歌seo公司
最近切换了新的收银系统,机器还是老机器,还好没啥问题可以正常使用。调试完成后 收银、微支付都挺正常,于是收拾东西回家了。第二天一早顾客发现网络用不了,远程看下ip地址改了,重新设置下又可以了。当时没放在心上&am…...
贵州城乡建设部网站/seo兼职外包
MATLAB 下的数字信号处理实现示例 附录一 信号、系统和系统响应 1、理想采样信号序列 ( 1)首先产生信号 x(n),0<n<50 n0:50; %定义序列的长度是 50 A444.128; %设置信号有关的参数 a50*sqrt(2.0)*pi; T0.001; %采样率 w050*sqrt(2.0)*pi; xA*exp(-a*n*T).*sin(w0*n*T); %…...
信息网络技术/伊春seo
华为强调它的自动驾驶技术领先于特斯拉,其中一点是它搭载的麒麟990A芯片的算力领先于包括特斯拉在内的众多汽车企业,这让人关注到自动驾驶技术的算力问题,那么算力领先真的那么重要么?手机芯片当下已普遍应用到7nm乃至5nm工艺&…...
做网站外包哪家好/网络营销类型有哪些
前言安全保护几乎对于所有的项目都是一个挑战,对于物联网项目更是如,自普及应用以来物联网业内已经发生过多起安全事故。作为物联网通信协议事实标准,MQTT 保持着较高的安全性,提供了多层次的安全设计:传输层ÿ…...
苏州市高新区建设局官方网站/关键词工具软件
除了PCM 封装成wav让一般的播放能正常播放外,然后Wav可以封装很多压缩的音频数据。如: ADPCM, DTS LPCM, 等。在这就收藏一些wav 封装ADPCM的头格式剖析信息 WAVE文件头作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文Resource …...
建设网站的企业邮箱网站建设服务/新闻头条 今天
HTML5提供了许多新接口,其中最令人振奋的无疑是Websocket。正是它的存在令网络双向交互得以实现。使用Websocket对于客户端来说无疑十分简单。websocket提供了三个简单的函数,onopen,onclose以及onmessage,顾名思义,他们分别监听s…...