> 文档中心 > web协议与http基础

web协议与http基础

文章目录

  • 一、DNS与域名
    • 总结:
  • 二、DNS 解析
    • 2.1 /etc/hosts
    • 2.2 /etc/resolv.conf
    • 2.3 网卡配置文件
    • 三、网页
    • 3.1 网页基本概念
    • 3.2 HTML
  • 四、Web
    • 4.1 Web概述
    • 4.2 Web1.0 vs Web2.0
    • 4.3 静态页面 与动态页面
  • 五、HTTP协议
    • 5.1 简介,版本
    • 5.2 HTTP协议的版本
    • 5.3 HTTP 请求格式( GET / POST 方式 )
    • 5.4 HTTP状态码
    • 5.5 HTTP协议请求流程分析
  • 六、总结

一、DNS与域名

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

2、为了保证网络上每台计算机的 IP 地址的唯 一性,用户必须向特定机构申请注册,分配 IP 地址网络中的地址方案分为两套:IP 地址系统 和 域名地址系统。这两套地址系统其实是一一对应的关系,由于 IP 地址是数字标识,使用时难以记忆和书写,因此在IP 地址的基础上又发展出一种符号化的地址方案,来代替数字型的 IP 地址

总结:

网络上交互是基于TCP/IP协议的,每个主机在逻辑上有一个唯一位置标识(IP地址),物理地址为MAC地址
为了保证地址唯一性,用户协议向特地给机构申请注册,分配IP地址网络中的地址有两套方案:
① IP地址系统
② 域名地址系统
而由于IP是由32位二进制数字标识,不方便记忆,所以 以IP地址为基础发展出了符号化地址来代替解决方案,也是是域名

二、DNS 解析

2.1 /etc/hosts

linux系统中负责快速解析的文件,包含了ip与主机名的映射关系,在没有DNS服务器的情况下,使用本地/etc/hosts完成解析/映射,实现快速访问

主要用于主机之间(IP和主机名)的映射/解析关系
192.168.226.128 master
192.168.226.129 node1
192.168.226.130 node2

2.2 /etc/resolv.conf

DNS客户端配置文件,主要用于设置DNS服务器的IP和域名,还包含了主机域名的搜索顺序等等,这个文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。

主要用与匹配DNS服务器
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 218.2.135.1

2.3 网卡配置文件

1./etc/sysconfig/network-scripts/ifcfg-ens33

2.我们也可以在网卡配置文件中定义DNS1= DNS2=

3.生效顺序 1 hosts文件 2 网卡配置文件 3 /etc/resolv.conf

三、网页

3.1 网页基本概念

1.网页
(1)纯文本格式文件
(2)编写语言为HTML

2.网站
由一个一个页面构成的,是多个网页的结合体

主页,打开网站后出现的第一个网页称为网站主页(或首页)

3.域名
浏览网页时输入的网址

4.HTTP/HTTPS
用来传输网页的通信协议(是否加密),是一种通讯/交互的标准/规范

5.URL
是一种万维网寻址系统

6.HTML
用来编写网页的超文本标记语言

7.超链接
超链接是将网站中不同网页链接起来的功能

8.发布
将制作好的网页上传到服务器供用户访问的过程

3.2 HTML

1.HTML超文本标记语言
Hyper Text Markup Language
网页的“源码”
浏览器:“解释和执行”HTML源码的工具

2.HTML文档的结构
HTML网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等

示例:

我的第一个网页 Hello World!#头标签中常用标签:标签描述定义了文档的标题定义了页面链接标签的默认链接地址定义了一个文档和外部资源之间的关系定义了 HTML 文档中的元数据定义了客户端的脚本文件定义了 HTML 文档的样式文件#内容标签中常用标签标签描述<table>定义一个表格<tr>定义了表格中的一行<td>定义了表格中某一行的一列<img>定义了一个图像<a>定义了一个超链接<p>定义了一行<br>定义了换行<font>定义了字体</code></pre>
<p>3.网页基本标签<br /> 网页摘要信息的作用<br /> 有利于浏览器解析<br /> 有利于搜索引擎搜索</p>
<pre><code><title>标签#标题标签#元标志</code></pre>
<p>标题标签类型:<br /> 行控制相关标签<br /> 范围标签<br /> 图像标签<br /> 超链接标签<br /> 特殊符号</p>
<h1>四、Web</h1>
<h2>4.1 Web概述</h2>
<p>Web(World Wide Web)即全球广域网,也称为万维网。<br /> 一种分布式图形信息系统,建立在Internet上的一种网络服务</p>
<h2>4.2 Web1.0 vs Web2.0</h2>
<p>Web1.0<br /> 以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容这个过程是网站到用户的单向行为</p>
<p>Web2.0<br /> 更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与</p>
<p>Web2.0特征<br /> 用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户</p>
<h2>4.3 静态页面 与动态页面</h2>
<p>4.3.1静态页面定义<br /> 静态网页是标准的HTML文件<br /> 扩展名是.htm、.html<br /> 例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等<br /> 是网站建设的基础,早期网站一般都由静态网页制作<br /> 没有后台数据库、不含程序和不可交互的网页<br /> 相对更新起来比较麻烦,适用于一般更新较少的展示型网站<br /> 静态页面特点:</p>
<p>每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”<br /> 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的<br /> 静态网页的内容相对稳定,容易被搜索引擎检索<br /> 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难<br /> 静态网页的交互性较差,在功能方面有较大的限制<br /> 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面<br /> 4.3.2 动态页面<br /> 网页 URL不固定,能通过后台与用户交互<br /> 在动态网页网址中有一个标志性的符号——“?”<br /> 常用的语言有PHP、JSP、Python、Ruby等<br /> 动态页面特点:</p>
<p>交互性<br /> 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋<br /> 自动更新<br /> 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量<br /> 因时因人而变<br /> 当不同的时间,不同的人访问同一网址时会产生不同的页面</p>
<h1>五、HTTP协议</h1>
<h2>5.1 简介,版本</h2>
<p>HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。</p>
<p>TTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。</p>
<p>HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。</p>
<p>然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie。</p>
<p>cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高)cookie<br /> 是缓存在用户端(client)浏览器中的(默认缓存一天),当下次客户端通过同一个浏览器访问客户端的时候,会优先读取cookie中的缓存信息,向服务端进行请求,同时服务端收到客户端请求的时候,读取到cookie文件,知道客户端之前找的是服务器A处理的任务,为了省事儿,省资源,干脆直接讲请求直接再交给服务器A处理<br /> 两者对比:<br /> cookie 省服务器性能<br /> session 更安全<br /> 1、为后面服务、集群、功能优化做铺垫<br /> 2、具体解释了怎么解决HTTP无状态协议的持久化/存储。</p>
<h2>5.2 HTTP协议的版本</h2>
<p>HTTP 0.9:已过时</p>
<p>HTTP 1.0</p>
<p>HTTP 1.1</p>
<p>HTTP 2.0</p>
<p>HTTP1.0和HTTP1.1之间的区别</p>
<p>缓存处理<br /> 带宽优化及网络连接的使用<br /> 错误通知的管理<br /> Host头处理<br /> 长连接</p>
<h2>5.3 HTTP 请求格式( GET / POST 方式 )</h2>
<p>5.3.1 GET 方式<br /> 请求行<br /> 请求的方式<br /> 请求的资源路径<br /> 请求的版本协议号</p>
<p>请求头(描述信息/标准化信息)<br /> Accept:客户端可以接受的数据类型<br /> Accept-Language:客户端可以接受的语言类型<br /> User-Agent:浏览器的信息<br /> Accpect-Encoding:客户端可以接受的编码格式<br /> Host:表示请求的ip和端口号<br /> Connection:告诉服务器请求连接如何处理<br /> Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接<br /> Closed:马上关闭</p>
<p>5.3.2 POST 请求方式<br /> 请求行<br /> 请求的方式<br /> 请求的资源路径<br /> 请求的协议的版本号</p>
<p>请求头</p>
<p>Accept:客户端可以接受的数据类型<br /> Accept-Language:客户端可以接受的语言类型<br /> Referer:表示请求发起时,浏览器地址栏中的地址<br /> User-Agent:浏览器的信息<br /> Content-Type:发送的数据类型<br /> Content-Length:发送的数据长度</p>
<p>请求体:就是发送给服务器的数据<br /> 5.3.3 GET 与 POST 区别<br /> 区别一:语义上的区别<br /> Get向服务器请求数据,依照HTTP协议,get 是用来请求数据。<br /> Post向服务器发数据,依照HTTP协议,Post的语义是向服务器添加数据,也就是说按照Post的语义,该操作是会修改服务器上的数据</p>
<p>区别二:服务器请求的区别<br /> Get请求是可以被缓存,示例:<br /> 访问百度,访问的方式就是GET,此时访问后的内容会缓被存在浏览器中,短时间再次访问,其实是拿到的浏览器中的缓存内容另外Get请求只能接收ASCII码的回复<br /> Post请求是不可以被缓存的。对于Post方式提交表单,刷新页面浏览器会弹出提示框“是否重新提交表单”,Post可以接收二进制等各种数据形式,所以如果要上传文件一般用Post请求</p>
<p>区别三:参数放请求头和请求体的差别<br /> Get请求通常没有请求体(当然这也是可以由程序猿心情改变的),在TCP传输中只需传输一次(而不是一个包),所以Get请求效率相对高。<br /> Post请求将数据放在请求体中,而实际传输中,会先传输完请求头,再传输请求体,是分为两次传输的(而不是两个包)。<br /> Post请求头会比Get更小(一般不带参数),请求头更容易在一个TCP包中完成传输,更何况请求头中有Content-Length的标识,可以更好地保证Http包的完整性。</p>
<p>简单的理解:</p>
<p>GET方法:<br /> 从指定的服务器上获得数据<br /> GET请求能被缓存<br /> GET请求会保存在浏览器的浏览纪录里(cookit)<br /> GET请求有长度的限制<br /> 主要用于获取数据<br /> 查询的字符串会显示在URL中,不安全</p>
<p>POST方法:<br /> 提交数据给指定服务器处理<br /> POST请求不能被缓存<br /> POST请求不会保存在浏览器的浏览纪录里<br /> POST请求没有长度限制<br /> 查询的字符串不会显示在URL中,比较安全</p>
<h2>5.4 HTTP状态码</h2>
<p>当使用浏览器访问某一个URL,会根据处理情况返回相应的处理状态</p>
<p>通常正常的状态码为2xx,3xx(如200)</p>
<p>如果出现异常会返回4xx,5xx(如404)</p>
<table>
<thead>
<tr>
<th>状态码首位</th>
<th>已定义范围</th>
<th>分类</th>
</tr>
</thead>
<tbody>
<tr>
<td>1xx</td>
<td>100 - 101</td>
<td>信息提示</td>
</tr>
<tr>
<td>2xx</td>
<td>200 - 206</td>
<td>成功</td>
</tr>
<tr>
<td>3xx</td>
<td>300 - 305</td>
<td>重定向</td>
</tr>
<tr>
<td>4xx</td>
<td>400 - 415</td>
<td>客户端错误</td>
</tr>
<tr>
<td>5xx</td>
<td>500 - 505</td>
<td>服务器错误</td>
</tr>
</tbody>
</table>
<p>生产环境常见的HTTP状态码</p>
<table>
<thead>
<tr>
<th>消息</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>OK</td>
</tr>
<tr>
<td>301</td>
<td>Moved Permanently</td>
</tr>
<tr>
<td>403</td>
<td>Forbidden</td>
</tr>
<tr>
<td>404</td>
<td>Not Found</td>
</tr>
<tr>
<td>500</td>
<td>Internal Server Error</td>
</tr>
<tr>
<td>502</td>
<td>Bad Gateway</td>
</tr>
<tr>
<td>503</td>
<td>Service Unavailable</td>
</tr>
<tr>
<td>504</td>
<td>Gateway Timeout</td>
</tr>
</tbody>
</table>
<h2>5.5 HTTP协议请求流程分析</h2>
<p><img src="https://img-blog.csdnimg.cn/71e1b691aaf24b6ab15c133d675fb605.png" alt="web协议与http基础" alt="在这里插入图片描述" /><br /> 用户输入URL(地址链接)<br /> 客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host文件没有的话,客户端会去找本地的DNS缓存服务器,本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com.然后本地缓存服务器会去找顶级域,顶级域没有的话会返回baidu.com.,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。<br /> 客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接</p>
<h1>六、总结</h1>
<p>1.DNS与域名的简单介绍<br /> 2.DNS 解析的配置文件顺序<br /> 3.网页的基本概述 、HTML文档结构,网页基本标签<br /> 4.web1.0 与 web2.0 的区别<br /> 5.Post 与 Get 方法区别<br /> 6.HTTP协议的简介</p>
<p>      <a href="http://www.y0s.cn" target="_blank">冰雪之城</a></p>
</div>
				
				               	<div class="clear"></div>
                				
				                <div class="article_tags">
                	<div class="tagcloud">
                    	标签:<a href="https://www.csdndoc.com/tag/%e5%9c%b0%e5%9d%80" rel="tag">地址</a> <a href="https://www.csdndoc.com/tag/%e5%ae%a2%e6%88%b7%e7%ab%af" rel="tag">客户端</a> <a href="https://www.csdndoc.com/tag/%e7%bd%91%e9%a1%b5" rel="tag">网页</a>                    </div>
                </div>
				                             </div>
		</div>
    						
    		<div>
		<ul class="post-navigation row">
			<div class="post-previous twofifth">
				上一篇 <br> <a href="https://www.csdndoc.com/doc/13980.html" rel="prev">shell编程之免交互操作</a>            </div>
            <div class="post-next twofifth">
				下一篇 <br> <a href="https://www.csdndoc.com/doc/13982.html" rel="next">Nginx网站服务</a>            </div>
        </ul>
	</div>
	     
	<div class="article_container row  box article_related">
    	<div class="related">
		<ul>
		<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18815.html" title="前端技术" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/timthumb.php?src=http://img.ttrar.cn/meinv/600/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF.jpg&h=300&w=450&zc=1" width="450" height="300" alt="前端技术" />			</div>
			<div class="r_title">
					前端技术            </div>
            </a>
		</li>
			<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18627.html" title="【GD32F407】 读写内部flash函数" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/timthumb.php?src=https://img-blog.csdnimg.cn/a6742e6acd0e4c1db681dbb960963713.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARW5vc2pp,size_20,color_FFFFFF,t_70,g_se,x_16&h=300&w=450&zc=1" width="450" height="300" alt="【GD32F407】 读写内部flash函数" />			</div>
			<div class="r_title">
					【GD32F407】 读写内部flash函数            </div>
            </a>
		</li>
			<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18587.html" title="【GD32F427开发板试用】06-硬件I2C&软件I2C驱动0.91OLED" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/timthumb.php?src=https://img-blog.csdnimg.cn/img_convert/1badc117294cf24d8554e17fbd42498d.webp?x-oss-process=image/format,png&h=300&w=450&zc=1" width="450" height="300" alt="【GD32F427开发板试用】06-硬件I2C&软件I2C驱动0.91OLED" />			</div>
			<div class="r_title">
					【GD32F427开发板试用】06-硬件I2C&软件I2C驱动0.91OLED            </div>
            </a>
		</li>
			<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18580.html" title="【GD32F427开发板试用】位带操作实现多线程下的跑马灯" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/timthumb.php?src=https://img-blog.csdnimg.cn/img_convert/6a173167b62747556e86f29e36ff2f6f.jpeg&h=300&w=450&zc=1" width="450" height="300" alt="【GD32F427开发板试用】位带操作实现多线程下的跑马灯" />			</div>
			<div class="r_title">
					【GD32F427开发板试用】位带操作实现多线程下的跑马灯            </div>
            </a>
		</li>
			<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18449.html" title="【Linux】循序渐进学运维-服务篇-ssh服务入门" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/timthumb.php?src=https://img-blog.csdnimg.cn/20200713224201232.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpbnNodXpoYW4=,size_16,color_FFFFFF,t_70&h=300&w=450&zc=1" width="450" height="300" alt="【Linux】循序渐进学运维-服务篇-ssh服务入门" />			</div>
			<div class="r_title">
					【Linux】循序渐进学运维-服务篇-ssh服务入门            </div>
            </a>
		</li>
			<li class="related_box"  >
			<a href="https://www.csdndoc.com/doc/18434.html" title="【运维面试】面试官:LVS都有哪些模式,你们公司用的哪一种?" target="_blank">
			<div class="r_pic">
                 <img src="https://www.csdndoc.com/wp-content/themes/Loocol/images/noimage.gif" width="450" height="300" alt="暂无图片">			</div>
			<div class="r_title">
					【运维面试】面试官:LVS都有哪些模式,你们公司用的哪一种?            </div>
            </a>
		</li>
	</ul>       	</div>
	</div>
         	<div class="clear"></div>
	<div id="comments_box">
		<!-- You can start editing here. -->
			<!-- If comments are closed. -->
		<!--<p class="nocomments">报歉!评论已关闭.</p>-->
			    
  <script type="text/javascript">
  function ajacpload(){
$('#comment_pager a').click(function(){
    var wpurl=$(this).attr("href").split(/(\?|&)action=AjaxCommentsPage.*$/)[0];
    var commentPage = 1;
    if (/comment-page-/i.test(wpurl)) {
    commentPage = wpurl.split(/comment-page-/i)[1].split(/(\/|#|&).*$/)[0];
    } else if (/cpage=/i.test(wpurl)) {
    commentPage = wpurl.split(/cpage=/)[1].split(/(\/|#|&).*$/)[0];
    };
    //alert(commentPage);//获取页数
    var postId =$('#cp_post_id').text();
	//alert(postId);//获取postid
    var url = wpurl.split(/#.*$/)[0];
    url += /\?/i.test(wpurl) ? '&' : '?';
    url += 'action=AjaxCommentsPage&post=' + postId + '&page=' + commentPage;        
    //alert(url);//看看传入参数是否正确
    $.ajax({
    url:url,
    type: 'GET',
    beforeSend: function() {
    document.body.style.cursor = 'wait';
    var C=0.7;//修改下面的选择器,评论列表div的id,分页部分的id
    $('#thecomments,#comment_pager').css({opacity:C,MozOpacity:C,KhtmlOpacity:C,filter:'alpha(opacity=' + C * 100 + ')'});
    var loading='Loading';
    $('#comment_pager').html(loading);
    },
    error: function(request) {
        alert(request.responseText);
    },
    success:function(data){
    var responses=data.split('');
    $('#thecomments').html(responses[0]);
    $('#comment_pager').html(responses[1]);
    var C=1; //修改下面的选择器,评论列表div的id,分页部分的id
    $('#thecomments,#comment_pager').css({opacity:C,MozOpacity:C,KhtmlOpacity:C,filter:'alpha(opacity=' + C * 100 + ')'});
    $('#cmploading').remove();
    document.body.style.cursor = 'auto';
    ajacpload();//自身重载一次
	//single_js();//需要重载的js,注意
	$body.animate( { scrollTop: $('#comment_header').offset().top - 200}, 1000);
        }//返回评论列表顶部
    });    
    return false;
    });
}
  </script>    </div>
	</div>
		<div id="sidebar">
		<div id="sidebar-follow">
		         
<div class="search box row">
<div class="search_site">
<form id="searchform" method="get" action="https://www.csdndoc.com/index.php">
		<button type="submit" value="" id="searchsubmit" class="button"><i class="fa fa-search"></i></button>
		<label><span>请输入搜索内容</span><input type="text" class="search-s" name="s"  x-webkit-speech /></label>
</form></div></div>
<div class="widget box row widget_tag_cloud"><h3>标签</h3><div class="tagcloud"><a href="https://www.csdndoc.com/tag/%e4%bb%a3%e7%a0%81" class="tag-cloud-link tag-link-19 tag-link-position-1" style="font-size: 14.222222222222pt;" aria-label="代码 (692个项目)">代码</a>
<a href="https://www.csdndoc.com/tag/%e5%85%83%e7%b4%a0" class="tag-cloud-link tag-link-500 tag-link-position-2" style="font-size: 13.74358974359pt;" aria-label="元素 (627个项目)">元素</a>
<a href="https://www.csdndoc.com/tag/%e5%86%85%e5%ad%98" class="tag-cloud-link tag-link-141 tag-link-position-3" style="font-size: 8.1196581196581pt;" aria-label="内存 (213个项目)">内存</a>
<a href="https://www.csdndoc.com/tag/%e5%87%bd%e6%95%b0" class="tag-cloud-link tag-link-111 tag-link-position-4" style="font-size: 16.495726495726pt;" aria-label="函数 (1,079个项目)">函数</a>
<a href="https://www.csdndoc.com/tag/%e5%8f%82%e6%95%b0" class="tag-cloud-link tag-link-680 tag-link-position-5" style="font-size: 10.512820512821pt;" aria-label="参数 (334个项目)">参数</a>
<a href="https://www.csdndoc.com/tag/%e5%8f%98%e9%87%8f" class="tag-cloud-link tag-link-81 tag-link-position-6" style="font-size: 12.188034188034pt;" aria-label="变量 (464个项目)">变量</a>
<a href="https://www.csdndoc.com/tag/%e5%91%bd%e4%bb%a4" class="tag-cloud-link tag-link-570 tag-link-position-7" style="font-size: 10.273504273504pt;" aria-label="命令 (325个项目)">命令</a>
<a href="https://www.csdndoc.com/tag/%e5%9b%be%e7%89%87" class="tag-cloud-link tag-link-395 tag-link-position-8" style="font-size: 8.5982905982906pt;" aria-label="图片 (234个项目)">图片</a>
<a href="https://www.csdndoc.com/tag/%e5%9c%a8%e8%bf%99%e9%87%8c" class="tag-cloud-link tag-link-33 tag-link-position-9" style="font-size: 22pt;" aria-label="在这里 (3,055个项目)">在这里</a>
<a href="https://www.csdndoc.com/tag/%e5%9c%b0%e5%9d%80" class="tag-cloud-link tag-link-281 tag-link-position-10" style="font-size: 8.4786324786325pt;" aria-label="地址 (227个项目)">地址</a>
<a href="https://www.csdndoc.com/tag/%e5%ad%97%e7%ac%a6%e4%b8%b2" class="tag-cloud-link tag-link-556 tag-link-position-11" style="font-size: 11.709401709402pt;" aria-label="字符串 (427个项目)">字符串</a>
<a href="https://www.csdndoc.com/tag/%e5%ae%b9%e5%99%a8" class="tag-cloud-link tag-link-332 tag-link-position-12" style="font-size: 10.512820512821pt;" aria-label="容器 (338个项目)">容器</a>
<a href="https://www.csdndoc.com/tag/%e5%af%b9%e8%b1%a1" class="tag-cloud-link tag-link-175 tag-link-position-13" style="font-size: 15.059829059829pt;" aria-label="对象 (817个项目)">对象</a>
<a href="https://www.csdndoc.com/tag/%e5%b1%9e%e6%80%a7" class="tag-cloud-link tag-link-468 tag-link-position-14" style="font-size: 10.632478632479pt;" aria-label="属性 (342个项目)">属性</a>
<a href="https://www.csdndoc.com/tag/%e6%8c%87%e9%92%88" class="tag-cloud-link tag-link-849 tag-link-position-15" style="font-size: 9.0769230769231pt;" aria-label="指针 (259个项目)">指针</a>
<a href="https://www.csdndoc.com/tag/%e6%8e%a5%e5%8f%a3" class="tag-cloud-link tag-link-110 tag-link-position-16" style="font-size: 11.350427350427pt;" aria-label="接口 (397个项目)">接口</a>
<a href="https://www.csdndoc.com/tag/%e6%8f%92%e5%85%a5%e5%9b%be%e7%89%87" class="tag-cloud-link tag-link-336 tag-link-position-17" style="font-size: 17.692307692308pt;" aria-label="插入图片 (1,344个项目)">插入图片</a>
<a href="https://www.csdndoc.com/tag/%e6%93%8d%e4%bd%9c" class="tag-cloud-link tag-link-179 tag-link-position-18" style="font-size: 8.957264957265pt;" aria-label="操作 (252个项目)">操作</a>
<a href="https://www.csdndoc.com/tag/%e6%95%b0%e6%8d%ae" class="tag-cloud-link tag-link-97 tag-link-position-19" style="font-size: 18.051282051282pt;" aria-label="数据 (1,432个项目)">数据</a>
<a href="https://www.csdndoc.com/tag/%e6%95%b0%e6%8d%ae%e5%ba%93" class="tag-cloud-link tag-link-92 tag-link-position-20" style="font-size: 10.393162393162pt;" aria-label="数据库 (329个项目)">数据库</a>
<a href="https://www.csdndoc.com/tag/%e6%95%b0%e7%bb%84" class="tag-cloud-link tag-link-671 tag-link-position-21" style="font-size: 13.982905982906pt;" aria-label="数组 (663个项目)">数组</a>
<a href="https://www.csdndoc.com/tag/%e6%96%87%e4%bb%b6" class="tag-cloud-link tag-link-109 tag-link-position-22" style="font-size: 16.25641025641pt;" aria-label="文件 (1,024个项目)">文件</a>
<a href="https://www.csdndoc.com/tag/%e6%96%b9%e6%b3%95" class="tag-cloud-link tag-link-112 tag-link-position-23" style="font-size: 16.136752136752pt;" aria-label="方法 (995个项目)">方法</a>
<a href="https://www.csdndoc.com/tag/%e6%97%b6%e9%97%b4" class="tag-cloud-link tag-link-21 tag-link-position-24" style="font-size: 8pt;" aria-label="时间 (209个项目)">时间</a>
<a href="https://www.csdndoc.com/tag/%e6%9c%8d%e5%8a%a1%e5%99%a8" class="tag-cloud-link tag-link-188 tag-link-position-25" style="font-size: 8.1196581196581pt;" aria-label="服务器 (211个项目)">服务器</a>
<a href="https://www.csdndoc.com/tag/%e6%a8%a1%e5%9e%8b" class="tag-cloud-link tag-link-49 tag-link-position-26" style="font-size: 9.1965811965812pt;" aria-label="模型 (260个项目)">模型</a>
<a href="https://www.csdndoc.com/tag/%e7%89%88%e6%9c%ac" class="tag-cloud-link tag-link-15 tag-link-position-27" style="font-size: 9.9145299145299pt;" aria-label="版本 (304个项目)">版本</a>
<a href="https://www.csdndoc.com/tag/%e7%94%a8%e6%88%b7" class="tag-cloud-link tag-link-100 tag-link-position-28" style="font-size: 9.5555555555556pt;" aria-label="用户 (282个项目)">用户</a>
<a href="https://www.csdndoc.com/tag/%e7%9a%84%e6%98%af" class="tag-cloud-link tag-link-41 tag-link-position-29" style="font-size: 8.7179487179487pt;" aria-label="的是 (241个项目)">的是</a>
<a href="https://www.csdndoc.com/tag/%e7%9b%ae%e5%bd%95" class="tag-cloud-link tag-link-949 tag-link-position-30" style="font-size: 8.3589743589744pt;" aria-label="目录 (224个项目)">目录</a>
<a href="https://www.csdndoc.com/tag/%e7%ae%97%e6%b3%95" class="tag-cloud-link tag-link-225 tag-link-position-31" style="font-size: 9.1965811965812pt;" aria-label="算法 (261个项目)">算法</a>
<a href="https://www.csdndoc.com/tag/%e7%b1%bb%e5%9e%8b" class="tag-cloud-link tag-link-273 tag-link-position-32" style="font-size: 9.9145299145299pt;" aria-label="类型 (299个项目)">类型</a>
<a href="https://www.csdndoc.com/tag/%e7%b3%bb%e7%bb%9f" class="tag-cloud-link tag-link-138 tag-link-position-33" style="font-size: 9.5555555555556pt;" aria-label="系统 (284个项目)">系统</a>
<a href="https://www.csdndoc.com/tag/%e7%ba%bf%e7%a8%8b" class="tag-cloud-link tag-link-463 tag-link-position-34" style="font-size: 12.786324786325pt;" aria-label="线程 (527个项目)">线程</a>
<a href="https://www.csdndoc.com/tag/%e7%bb%84%e4%bb%b6" class="tag-cloud-link tag-link-523 tag-link-position-35" style="font-size: 11.82905982906pt;" aria-label="组件 (437个项目)">组件</a>
<a href="https://www.csdndoc.com/tag/%e7%bb%93%e7%82%b9" class="tag-cloud-link tag-link-383 tag-link-position-36" style="font-size: 8.4786324786325pt;" aria-label="结点 (226个项目)">结点</a>
<a href="https://www.csdndoc.com/tag/%e8%8a%82%e7%82%b9" class="tag-cloud-link tag-link-676 tag-link-position-37" style="font-size: 13.264957264957pt;" aria-label="节点 (581个项目)">节点</a>
<a href="https://www.csdndoc.com/tag/%e8%ae%be%e5%a4%87" class="tag-cloud-link tag-link-25 tag-link-position-38" style="font-size: 8.5982905982906pt;" aria-label="设备 (234个项目)">设备</a>
<a href="https://www.csdndoc.com/tag/%e8%af%ad%e5%8f%a5" class="tag-cloud-link tag-link-726 tag-link-position-39" style="font-size: 8.1196581196581pt;" aria-label="语句 (212个项目)">语句</a>
<a href="https://www.csdndoc.com/tag/%e8%b7%af%e5%be%84" class="tag-cloud-link tag-link-871 tag-link-position-40" style="font-size: 8.7179487179487pt;" aria-label="路径 (239个项目)">路径</a>
<a href="https://www.csdndoc.com/tag/%e9%80%92%e5%bd%92" class="tag-cloud-link tag-link-487 tag-link-position-41" style="font-size: 8.1196581196581pt;" aria-label="递归 (212个项目)">递归</a>
<a href="https://www.csdndoc.com/tag/%e9%98%9f%e5%88%97" class="tag-cloud-link tag-link-678 tag-link-position-42" style="font-size: 9.0769230769231pt;" aria-label="队列 (254个项目)">队列</a>
<a href="https://www.csdndoc.com/tag/%e9%a1%b5%e9%9d%a2" class="tag-cloud-link tag-link-279 tag-link-position-43" style="font-size: 9.4358974358974pt;" aria-label="页面 (274个项目)">页面</a>
<a href="https://www.csdndoc.com/tag/%e9%a1%b9%e7%9b%ae" class="tag-cloud-link tag-link-82 tag-link-position-44" style="font-size: 10.752136752137pt;" aria-label="项目 (356个项目)">项目</a>
<a href="https://www.csdndoc.com/tag/%e9%b8%bf%e8%92%99" class="tag-cloud-link tag-link-136 tag-link-position-45" style="font-size: 8.957264957265pt;" aria-label="鸿蒙 (250个项目)">鸿蒙</a></div>
</div>		  <div class="widget box row">
		  	<div id="tab-title">
				<div class="tab">
					<ul id="tabnav">
						<li  class="selected">最新文章</li>
						<li>热评文章</li>
						<li>随机文章</li>
					</ul>
				</div>
				<div class="clear"></div>
			</div>
			<div id="tab-content">
				<ul >	<li><a href='https://www.csdndoc.com/doc/19106.html'>OpenHarmony——内核通信(消息队列)</a></li>
	<li><a href='https://www.csdndoc.com/doc/19105.html'>OpenHarmony开源鸿蒙无人机来了</a></li>
	<li><a href='https://www.csdndoc.com/doc/19104.html'>OpenHarmony dump渲染和合成图层SurfaceBuffer指南</a></li>
	<li><a href='https://www.csdndoc.com/doc/19103.html'>【AGC】新版鸿蒙崩溃SDK集成使用方法</a></li>
	<li><a href='https://www.csdndoc.com/doc/19102.html'>【HarmonyOS】DevEco Studio 3.1 Beta2下载SDK失败,报错error notarget No matching version found for @webassembl</a></li>
	<li><a href='https://www.csdndoc.com/doc/19101.html'>【HarmonyOS】元服务混淆打包以及反混淆mapping文件生成</a></li>
	<li><a href='https://www.csdndoc.com/doc/19100.html'>HarmonyOS低代码开发-创建新工程方式</a></li>
	<li><a href='https://www.csdndoc.com/doc/19099.html'>OpenHarmony智慧设备开发-芯片模组简析RK3399</a></li>
	<li><a href='https://www.csdndoc.com/doc/19098.html'>OpenHarmony智慧设备开发-芯片模组简析RK3568</a></li>
	<li><a href='https://www.csdndoc.com/doc/19097.html'>openharmony串口通信</a></li>
</ul>
				<ul class="hide">
<li><a href= "https://www.csdndoc.com/doc/17152.html" target="_blank" rel="bookmark" title="华为云14天鸿蒙设备开发-Day5驱动子系统开发 (0条评论)" >华为云14天鸿蒙设备开发-Day5驱动子系统开发</a></li>
<li><a href= "https://www.csdndoc.com/doc/17408.html" target="_blank" rel="bookmark" title="基于Java+SpringBoot+vue+element疫情物资捐赠分配系统设计和实现 (0条评论)" >基于Java+SpringBoot+vue+element疫情物资捐赠分配系统设计和实现</a></li>
<li><a href= "https://www.csdndoc.com/doc/17664.html" target="_blank" rel="bookmark" title="行人重识别数据集汇总 (0条评论)" >行人重识别数据集汇总</a></li>
<li><a href= "https://www.csdndoc.com/doc/17920.html" target="_blank" rel="bookmark" title="树莓派 Pico仅4美元, IoT物联网开发实战 (0条评论)" >树莓派 Pico仅4美元, IoT物联网开发实战</a></li>
<li><a href= "https://www.csdndoc.com/doc/18176.html" target="_blank" rel="bookmark" title="全志F1C200s从零开发-虚拟机搭建Ubuntu环境 (0条评论)" >全志F1C200s从零开发-虚拟机搭建Ubuntu环境</a></li>
<li><a href= "https://www.csdndoc.com/doc/18432.html" target="_blank" rel="bookmark" title="【运维面试】校企合作运维工程师12-16K薪资面试题 (0条评论)" >【运维面试】校企合作运维工程师12-16K薪资面试题</a></li>
<li><a href= "https://www.csdndoc.com/doc/18688.html" target="_blank" rel="bookmark" title="HarmonyOS基础组件的使用 (0条评论)" >HarmonyOS基础组件的使用</a></li>
<li><a href= "https://www.csdndoc.com/doc/18944.html" target="_blank" rel="bookmark" title="如何在OpenHarmony上进行双网卡设置 (0条评论)" >如何在OpenHarmony上进行双网卡设置</a></li>
<li><a href= "https://www.csdndoc.com/doc/17153.html" target="_blank" rel="bookmark" title="华为云14天鸿蒙设备开发-Day3内核开发 (0条评论)" >华为云14天鸿蒙设备开发-Day3内核开发</a></li>
<li><a href= "https://www.csdndoc.com/doc/17409.html" target="_blank" rel="bookmark" title="13万字学会Spring+SpringMVC+Mybatis框架 (0条评论)" >13万字学会Spring+SpringMVC+Mybatis框架</a></li></ul>
				<ul class="hide">
				                	<li><a href="https://www.csdndoc.com/doc/7104.html" title="C语言中的文件操作 的文章">C语言中的文件操作</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/6039.html" title="Python网络编程(九)-使用twisted框架进行TCP网络链接相关应用的开发,包括server和client 的文章">Python网络编程(九)-使用twisted框架进行TCP网络链接相关应用的开发,包括server和client</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/3090.html" title="Python 随机生成11位数字 的文章">Python 随机生成11位数字</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/1745.html" title="『IDEA』IDEA快捷键使用教程 的文章">『IDEA』IDEA快捷键使用教程</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/14669.html" title="线程池 的文章">线程池</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/2213.html" title="Linux下权限修改(chmod) 的文章">Linux下权限修改(chmod)</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/11148.html" title="测试左移之Sonarqube maven项目分析 的文章">测试左移之Sonarqube maven项目分析</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/18518.html" title="HarmonyOS/OpenHarmony应用开发-类Web开发范式 的文章">HarmonyOS/OpenHarmony应用开发-类Web开发范式</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/2088.html" title="Vue3.0的新特性 (9) data、mixin和filter 的文章">Vue3.0的新特性 (9) data、mixin和filter</a></li>
				                	<li><a href="https://www.csdndoc.com/doc/7758.html" title="面试常见问题-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景 的文章">面试常见问题-限流策略有哪些,滑动窗口算法和令牌桶区别,使用场景</a></li>
				                </ul>
             </div>
          </div>
									</div>
	</div>
</div>
</div>
<div class="clear"></div>
<div id="footer">
<div class="container">
	<div class="twothird">
      </div>
  <div class="third">
					 <div class="bdshare_small">
					 					</div>    				
  </div>
</div>
<div class="container">
	<div class="twothird">
	  <div class="copyright">
	  <p> Copyright © 2021-2023 
		<a href="https://www.csdndoc.com/"><strong>程序员档案馆</strong></a> Powered by <a href="/lists">网站分类目录</a>

				<a href="https://beian.miit.gov.cn/" rel="external">陕ICP备05009492号</a>
		.			  </p>
	  </div>	
	</div>
	<div class="third">
		<a href="http://www.xiaoboy.cn" target="_blank">小男孩制作</a>			
	</div>
</div>
</div>
<!--gototop-->
<div id="tbox">
    <a id="home" href="https://www.csdndoc.com" title="返回首页"><i class="fa fa-home"></i></a>
      <a id="pinglun" href="#comments_box" title="前往评论"><i class="fa fa-commenting"></i></a>
      <a id="gotop" href="javascript:void(0)" title="返回顶部"><i class="fa fa-chevron-up"></i></a>
</div>
<script type='text/javascript' src='https://www.csdndoc.com/wp-content/themes/Loocol/js/jquery.swipebox.min.js?ver=1.3.0'></script>
<script type='text/javascript' src='https://www.csdndoc.com/wp-content/themes/Loocol/js/loocol.js?ver=20191005'></script>
<script type='text/javascript' src='https://www.csdndoc.com/wp-includes/js/wp-embed.min.js?ver=4.9.23'></script>
<script src="http://css.5d.ink/body.js" type="text/javascript"></script>
<script>
$(document).ready(function() { 
 $("#sidebar-follow").pin({
      containerSelector: ".main-container",
	  padding: {top:64},
	  minWidth: 768
	}); 
 $(".mainmenu").pin({
	 containerSelector: ".container",
	  padding: {top:0}
	});
 $(".swipebox").swipebox();	
});
</script>
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"24"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?cdnversion='+~(-new Date()/36e5)];</script>
</body></html>
<!-- Dynamic page generated in 1.826 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2023-09-10 12:42:42 -->

<!-- super cache -->