【Web服务器集群】Web基础与HTTP协议

news2024/11/18 12:27:51

文章目录

  • 一、Web基础
    • 1.域名概述
      • 1.1域名的概念
      • 1.2域名解析
      • 1.3域名空间结构
    • 2.域名注册
    • 3.网页的概念
    • 4.HTML概述
      • 4.1HTML概念
      • 4.2HTML文档的结构
    • 5.网页基本标签
    • 6.Web概述
    • 7.静态网页与动态网页
      • 7.1静态网页
      • 7.2动态网页
      • 7.3动态网页语言
  • 二、HTTP协议
    • 1.概念
    • 2.HTTP协议的版本
    • 3.HTTP方法
      • GET和POST的区别
    • 4.HTTP状态码
    • 5.HTTP请求流程分析
      • 5.1HTTP请求报文结构
      • 5.2HTTP请求实例
      • 5.3HTTP响应报文结构
      • 5.4HTTP响应实例


一、Web基础

1.域名概述

1.1域名的概念

  网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地址),用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时,均采用一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派一个独一无二的地址。

  为了保证地址唯一性,用户协议向特地给机构申请注册,分配IP地址网络中的地址有两套方案:IP地址系统、域名地址系统。而由于IP是由32位二进制数字标识,不方便记忆,所以以IP地址为基础发展出了符号化地址来代替解决方案,也是是域名。

1.2域名解析

  早期使用hosts解析域名,hosts文件里存放缓存服务器所记录的域名信息。使用hosts管理主机名称容易重复,文件大解析效率下降,单点管理主机容易故障,维护起来比较困难

  后来逐渐被DNS(Demain Name System域名系统)替代使用。而DNS作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP地址。

1.3域名空间结构

  域名通常是由根域、顶级域、二级域、子域、主机名组成。其中根域、顶级域、子域、主机名是必不可少的。如果顶级域是一些机构组织,子域就是二级域。

在这里插入图片描述

2.域名注册

  域名注册时Internet中用于解决地址对应问题的一种方法。

  域名注册步骤:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fKhxFkIu-1684914273783)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230524093300949.png)]

3.网页的概念

网页纯文本格式,编写语言为HTML,在用户的浏览器中被“翻译”成网页形式显示出来。
网站由一个一个页面构成,是多个网页的结合体。
主页打开网站后出现的第一个网页称为网页主页(或者首页)。
域名用于浏览网页时输入的网址。
HTTP用来传输网页的通信协议。
URL是一种万维网寻址系统。
HTML用来编写网页的超文本标记语言。
超链接超链接是将网站中不同网页链接起来的功能。
发布将制作好的网页上传到服务器供用户访问的过程。

4.HTML概述

4.1HTML概念

  HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

4.2HTML文档的结构

  HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为.html.htm即可。

  HTML网页是由头部部分(标题部分)、主体部分(网页内容,包括文本、图像等)具体结构如下:

<html>
	<head>
		<title>标题部分</title>
	</head>
	<body>
		主题部分
	</body>
</html>

5.网页基本标签

头标签中常用标签

标签描述
<title>定义了文档的标题
<base>定义了页面链接标签的默认链接地址
<link>定义了一个文档和外部资源之间的关系
<meta>定义了 HTML 文档中的元数据
<script>定义了客户端的脚本文件
<style>定义了 HTML 文档的样式文件

内容标签中常用标签

标签描述
<table>定义一个表格
<tr>定义了表格中的一行
<td>定义了表格中某一行的一列
<img>定义了一个图像
<a>定义了一个超链接
<p> 定义了一行
<br/>定义了换行
<font>定义了字体
<h1>定义字体大小

6.Web概述

  web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。

Web1.0

  以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容,这个过程是网站到用户的单向行为。

Web2.0

  更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者,加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与

Web1.0与Web2.0区别

  • Web 1.0 被称为"只读 Web"。Web 2.0 被认为是"参与式社交 Web"。
  • Web 1.0 由静态网页组成,Web 2.0 出现了 Web 应用程序。
  • 内容由 Web 1.0 中的服务器文件系统提供。Web 2.0 内容灵活且可响应人工输入。

7.静态网页与动态网页

7.1静态网页

  在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm.html。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画FLASH滚动字幕等,这些“动态效果”只是视觉上的。

  静态网页是没有后台数据、不含程序和不可交互的网页,相对更新起来比较麻烦,使用一般更新较少的展示型网站。

静态网页的特点

  • 每个静态网页都有一个固定的URL,且URL以.htm.html.shtml等常见形式为后缀,而不含有
  • 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的。
  • 静态网页的内容相对稳定,容易被搜索引擎检索。

7.2动态网页

  所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以,随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm.html.shtml.xml等静态网页的常见网页制作格式,而是以.aspx.asp.jsp.php.perl.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——?

  动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。

动态网页的特点

  • 交互性:网页会根据用户的要求和选择而动态改变和响应,将浏览器最为客户端界面,这将是今后WEB发展的大势所趋。
  • 自动更新:无需手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。
  • 因时因人而变:当不同的时间,不同的人访问统一网址时会产生不同的页面。

7.3动态网页语言

  早期的动态网页主要采用通用网关接口 CGI(Common Gateway Interface)技术,虽然 CGI 技术已经发展成熟而且功能强大, 但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。

  目前常用的动态网页编程语言如下:

常用的动态网页语言用法
PHP即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。
JSP即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。
Python是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。
Ruby是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90年代由日本人松本行弘(Yukihiro Matsumoto) 开发,遵守GPL 协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TX7WcLDN-1684914273783)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230524152103880.png)]

二、HTTP协议

1.概念

  HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。

2.HTTP协议的版本

  HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的。具体的协议版本有以下几种:

HTTP 0.9

  已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。

HTTP 1.0

  这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。

HTTP 1.1

  引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。

HTTP 2.0(SPDY)

  完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。

HTTP 3.0(QUIC)

  对于在HTTP2.0中始终在使用的是TCP协议,所以无论如何都还是会有TCP传输层的对头阻塞问题,而HTTP 3.0是基于UDP协议的。

总结,HTTP 1.0和HTTP 1.1是文本传输,HTTP 2.0之后是二进制传输。

3.HTTP方法

  HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GETPOSTPUT

  Http1.0定义了三种请求方法:GET, POSTHEAD方法。Http1.1新增了六种请求方法:OPTIONSPUTPATCHDELETETRACECONNECT 方法。

HTTP方法描述
GET对服务器资源获取的简单请求。
PUT向服务器提交数据,以修改数据。
DELETE删除服务器上的某些资源。
POST用于发送包含用户提交数据的请求。
HEAD请求页面的首部,获取资源的元信息。
CONNECT建立特殊的连接隧道。
OPTIONS列出可对资源实行的方法。
TRACE追踪请求 - 响应的传输路径。

GET和POST的区别

GET 方法:从指定的服务器上获得数据

  • GET请求能被缓存;
  • GET请求会保存在浏览器的浏览纪录里;
  • GET请求有长度的限制;
  • 主要用于获取数据;
  • 查询的字符串会显示在URL后缀中,不安全,比如 http://www.test.com/a.php?Id=123

POST 方法:提交数据给指定服务器处理

  • POST请求不能被缓存;
  • POST请求不会保存在浏览器的浏览纪录里;
  • POST请求没有长度限制;
  • 查询的字符串不会显示在URL中,比较安全。

4.HTTP状态码

  HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599):

分类已定义范围分类
1XX100-101信息提示
2XX200-206成功
3XX300-305重定向
4XX400-415客户端错误
5XX500-505服务器错误

生产环境常见的HTTP状态码

状态码状态码英文名称中文描述
200OK请求成功。一般用于GET与POST请求。
301Moved Permanently永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替。
401Unauthorized请求要求用户的身份认证。
402Payment Required保留,将来使用。
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求。禁止访问该页面。
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面。服务器无法找到被请求的页面。
500Internal Server Error服务器内部错误,无法完成请求.
502Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应。无效网关。
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中。
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求。网关请求超时。

5.HTTP请求流程分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fAXvMHpJ-1684914273783)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230524120155036.png)]

  用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体。而服务器在收到请求后返回响应报文,包括状态行、响应头、响应体

5.1HTTP请求报文结构

  我们之前说过TCP报文包=TCP头信息+TCP数据体,TCP头信息我们已经讲了,现在来讲TCP数据体,也就是我们的HTTP请求报文

在这里插入图片描述

5.2HTTP请求实例

在这里插入图片描述

  请求行:请求行由请求方法、URL 以及协议版本三部分组成。

  请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。

  空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。

  请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。

常用的请求头:

请求头描述
Host接受请求的服务器地址,可以是 IP:端口号,也可以是域名
User-Agent发送请求的应用程序名称
Connection指定与连接相关的属性,如 Connection:Keep-Alive
Accept-Charset通知服务端可以发送的编码格式
Accept-Encoding通知服务端可以发送的数据压缩格式
Accept-Language通知服务端可以发送的语言

5.3HTTP响应报文结构

  服务器在收到客户端请求处理完需要响应并返回给客户端,而HTTP响应报文结构与请求结构体一致。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XaAEqfar-1684914273785)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230524154331049.png)]

5.4HTTP响应实例

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LmGMLwMn-1684914273785)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230524122847747.png)]

  状态行:状态行由协议版本,状态码,状态码描述三部分组成。

  响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。

  空行:响应头部的最后会有一个空行,表示响应头部结束。

  响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。

常用的响应头:

响应头描述
Server服务器应用程序软件的名称和版本
Content-Type响应正文的类型(是图片还是二进制字符串)
Content-Length响应正文长度
Content-Charset响应正文使用的编码
Content-Encoding响应正文使用的数据压缩格式
Content-Language响应正文使用的语言

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pytest+requests+Python3.7+yaml+Allure+Jenkins+docker实现接口自动化

目录 接口自动化测试框架&#xff08;用例自动生成&#xff09; 项目说明 技术栈 环境部署 框架流程图与目录结构图及相关说明 1、框架流程图如下 2、代码目录结构图如下 关联详解 函数助手详解 代码设计与功能说明 1、定义运行配置文件 runConfig.yml 2、接口配置…

构建系统安全防线!Genmai安全漏洞检测框架全面解析

01 Genmai是什么&#xff1f; Genmai是由openkylin社区SecurityGovernance SIG为了挖掘、检测、验证麒麟产品的安全漏洞而主导开发的一款开源主机漏洞扫描、网络漏洞扫描以及基线扫描的安全扫描框架。其致力于能在短时间内对主流的操作系统进行安全检测&#xff0c;并确保准确…

Unity3D :使用 UXML 实例作为模板

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 使用 UXML 实例作为模板 您可以将现有 UXML 文档实例化为 UXML 文档中的模板作为模板实例&#xff0c;类似于预制件 在 Unity 中工作。 使用 UXML 文档作为模板 要将项目中的现有…

「API 接口获取方法」

在创建一个应用程序的过程中&#xff0c;获取数据是非常关键的一步。而通过API接口获取数据通常是最好的方式之一。那么&#xff0c;如何通过关键字获取API接口呢&#xff1f;以下是一些步骤&#xff1a; 1.确定你需要获取的数据类型 首先&#xff0c;你需要确定你需要获取的…

深入浅出 SQL Server CDC 数据同步

简介 SQL Server 是一款老牌关系型数据库,自 1988 年由 Microsoft、Sybase 和 Ashton-Tate 三家公司共同推出&#xff0c;不断迭代更新至今&#xff0c;拥有相当广泛的用户群体。 如今&#xff0c;我们提到 SQL Server 通常指 Microsoft SQL Server 2000 之后的版本。 SQL S…

软件测试的7个级别,做到3级已经超越80%测试人!

有人说&#xff1a;软件测试就是最low的点点点工作。 有人说&#xff1a;测试工作职位薪水到一定程度只能原地踏步无法提升 也有人说&#xff1a;测试行业相对于开发来说技术性很低&#xff0c;容易被取代。 这其实是对测试行业最大的误解。测试可深可浅&#xff0c;可窄可广…

linux嵌入式学习

https://www.runoob.com/linux/linux-comm-ls.html https://www.bilibili.com/video/BV1w4411B7a4?p19&spm_id_frompageDriver&vd_sourcee7d12c9f66ab8294c87125a95510dac9 1 eMMC eMMC&#xff08;embedded MultiMediaCard&#xff09;是一种集成电路&#xff0c;用…

vue2+wangeditor富文本域

vue2wangeditor富文本域 效果图安装依赖初始化简约模式自定义模式图片设置只允许 base64 方式支持图片服务器 更多配置项目依赖项目代码 效果图 安装依赖 npm i wangeditor/editor wangeditor/editor-for-vue初始化 <template><div class"editor-box">…

IIS 日志解析,增强 IIS 服务器安全性

企业严重依赖 Microsoft Internet 信息服务 &#xff08;IIS&#xff09; 服务器来托管其网页和 Web 应用程序&#xff0c;以及存储其文件。请务必妥善保护您的 IIS 服务器&#xff08;包括 Web 和 FTP&#xff09;。 什么是 IIS 日志 IIS 日志是 Microsoft IIS Web 服务器上…

柔顺机构学读书笔记1:悬臂梁变形

题目&#xff1a; 如图考虑悬臂梁&#xff0c;材料各向同性&#xff0c;即各个方向上的弹性模量和强度都相同。如果在x方向上作用一个可使最大应力等于屈服强度 S S S的力 F x F_x Fx​时&#xff0c; x x x轴方向的变形为多少&#xff0c;书上给出了答案&#xff1a; 我们来验…

网易有道财报:网易有道2023财年收入将强劲增长,亏损将减少?

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 预计2023年收入增长强劲&#xff0c;净亏损收窄 猛兽财经认为网易有道&#xff08;DAO&#xff09;今年是有能力实现更多的收入增长和减少亏损的。具体来说&#xff0c;我们预计网易有道的收入将在2023财年增长至少20%&am…

Semantic Kernel VS LangChain

每当向他人介绍 Semantic Kernel&#xff0c;会得到的第一个问题就是 Semantic Kernel 类似于 LangChain 吗&#xff1f;或者是 C# 版本的 LangChain 吗&#xff1f;因此我总结了这篇文章。 微软MVP实验室研究员 张善友 深圳友浩达 CTO & 首席架构师&#xff0c;微软最有价…

进程间通信-system V共享内存

文章目录 1. system V共享内存1.1 共享内存示意图 2. 共享内存函数2.1 shmget函数2.2 代码实现2.2.1 shmat2.2.2 shmdt 3. 信息量 1. system V共享内存 system V的意思是一套标准&#xff0c;共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间&#xff…

AI遇上建筑设计,是出圈还是翻车?

AIGC 落地&#xff0c;始于场景&#xff0c;终于价值。 去年以来出现了 AIGC 热潮&#xff0c;引发了 AIGC 及其应用话题的爆发性增长&#xff0c;不少人感慨强人工智能的时代已经离我们不那么遥远了。但是在热潮的另一面&#xff0c;我们看到真正能落地的场景依然是凤毛麟角&a…

【C语言】结构体指针

结构体指针 结构体基础知识注意对于成员的赋值 结构体指针指向结构体变量的指针结构体指针与结构体成员指针用结构体指针引用结构体成员 结构体 基础知识 初识结构体&#xff0c;可以先看这篇浅显易懂的文章结构体–基础篇 所谓结构体&#xff0c;是一组类型可以不同的相关变…

部署输配电线路火灾隐患排查治理

输电线路防山火在线监测装置 一、产品描述&#xff1a; 电力设施为了远离人们的生活区域选择部分扎根在森林里面&#xff0c;减少发生触电事故的发生。但是提到森林就不得不说其中一个山火问题&#xff0c;山火灾害对建设在森林的电力设施造成的损害不可预估&#xff0c;为保障…

CodeForces.1806A .平面移动.[简单][判断可达范围][找步数规律]

题目描述&#xff1a; 题目解读&#xff1a; 给定移动规则以及起始点&#xff0c;终点&#xff1b;分析终点是否可达&#xff0c;可达则输出最小步数。 解题思路&#xff1a; 首先要判定是否可达。画图可知&#xff0c;对于题目给定的移动规则&#xff0c;只能到达起始点(a,b…

Go 开发实践:手把手教你搭建一个登录功能

本文首发自「慕课网」 &#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"及“慕课网公众号”&#xff01; 作者&#xff1a;Codey|慕课网讲师 用 Go 语言搭建简易登录功能 如果你最近刚学习Go 语言基础特性&#xff0c;对 …

《深入理解BigDecimal:揭秘钱财计算的核心技术》

文章目录 《深入理解BigDecimal:揭秘钱财计算的核心技术》***\*一、BigDecimal概述\*******\*二、BigDecimal常用构造函数\****2.1、常用构造函数2.2、使用问题分析***\*三、BigDecimal常用方法详解\****3.1、常用方法3.2、BigDecimal大小比较***\*四、BigDecimal格式化\*****…

【正点原子STM32连载】 第二十章 基本定时器实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…