Web 和http协议

1.1HTTP服务的重要基础
1.1.1 用户访问网站基本流程
DNS hosts ---- 本地缓存-----LDNS----根DNS
1.1HTTP服务的重要基础
1.1.1用户访问网站基本流程
我们每天都会使用Web客户端上网浏览网页。最常见的为Web客户端就是谷歌浏览器等,如通用的微软Internet Explorer ( IE).以及技术人员偏爱的火狐浏览器、谷歌浏览器等。当我们在Web浏览器里输入网站地址(例如: baidu. com)时, 很快就会看到网站的内容这一切似乎看起来很神奇,那么在其背后到底是怎样的实现流程呢?也许普通的上网者无需关注,,但作为一个 IT技术人员,特别是合格的Linux运维人员,就需要清晰的掌握了。
下面我们就来揭晓从客户端用户在web浏览器里输入网站地址,到看到网站内容的完整访问流程
第一步:客户端用户在浏览器里输入www. baidu. com网站地址,回车后, 系统首先会查找系统本地的DNS缓存及hosts文件信息,确定是否存在ww. baidu. com域名对应的IP解析记录,如果有就直接获取IP地址,然后去访问这个IP地址对应域名www. baidu. com的服务器,一般第一次请求时,DNS 缓存是没有解析记录的,而hosts多在内部临时测试时使用。
第二步:如果客户端本地DNS缓存及hosts文件没有www. baidu. com 域名对应的解析记录,那么 系统会把浏览器的解析请求发送给客户端本地设置的DNS服务器地址(通常称此DNS为LDNS,即Local DNS)解析,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回IP地址给客户端。如果没有,则LDNS会负责继续请求其他的DNS服务器。
第三步: LDNS 从DNS系统的(”.”)根开始请求对www. baidu. com域名的解析,并针对各个层级的DNS服务器系统进行一系列的查找, 最终会找到www. baidu. com域名对应的授权DNS服务器,而这个授权DNS服务器正是企业购买域名时用于管理域名解析的服务器,这个授权服务器会www. baidu. com对应的IP解析记录。如果此时没有, 就表示企业的域名管理人员没有为www. baidu. com域名做解析设置,即网站还没架设好。
第四步:w ww… baidu. com域名的授权DNS服务器会把www… baidu. com对应的最终IP解析记录(例如: 1.1. 1.1)发给LDNS。
第五步: LDNS 把来自授权DNS服务器www. baidu. com对应的IP解析记录发给客户端浏览器,并且它会把该域名和IP的对应解析缓存起来,以便下一次更快地返回相同解析请求的记录,这些缓存记录在指定的时间(DNS TTL值控制)内不会过期。
第六步;客户端浏览器获取了www. baidu.com的对应IP地址,接下来,浏览器会请求获得IP地址对应的网站服务器,网站服务器接收到客户的请求并响应处理(此处的处理可能是数百台集群的服务器系统,也可能是一台云主机),将客户请求的内容返回给客户端浏览器。到现在为止,一次访问浏览网页的完整过程就完成了。
提示:上述仅仅是客户端用户第一次访问网站的基本过程,连续访问后,系统本地和LDNS层级都会有缓存记录,再访问时流程就会有些变化,会直接取本地缓存记录,这样访问过程就很快了。
(1) 查看windows客户端本地缓存的DNS解析记录的命令
C: \Users\benet> ipconfig /displaydns //display the contents of the DNSResolve Cache
Windows IP配置
conf. wsm. 360. cn
记录名称. …: conf. wsm. 360. cn
记录类型…:1
生存时间:. . . . . . . : 26
数据长度:. . . . . . . : 4
部分. . . . … . : 答案
A(主机)记录. . . . . . .: 221.130.200.53
1.清除windows客户端本地缓存的DNS解析记录的命令
C:\Users\benet>ipconfig /flushdns
Windows IP 设置
已成功刷新DNS解析缓存
1.2.1HTTP协议
HTTP协议,全称为HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是www服务。设计HTTP协议最初的目的就是提供一种发布和HTML(一种页面标记语言)页面的方法。
HTTP协议是互联网上常用的通信协议之一。他有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即www应用或称Web应用。
WWW,全称为World Wide Web,常称为Web,中文译为“万维网”。它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的www服务应用的默认端口为80,另外一个加密的www服务应用https的默认端口为443,主要用于网银、支付等和钱相关的业务。
TCP:传输控制协议
UDP:用户数据报协议
1、TCP三次握手建立连接与四次挥手断开连接
建立连接∶
在socket未连接时,客户端和服务器双方都处于CLOSED状态,需要注意的地方是,只有客户端才能发起连接握手请求,服务端无法直接对客户端发起握手请求,当客户端需要对服务端传输数据的时候会会先服务端建立稳定可靠的连接。首先客户端需要对对服务端发起SYN握手请求并进入SYN_SEND状态,当服务端收到请求后回应一个SYN握手请求并附带回应同意ACK消息,随后服务端进入SYN_RECV状态,客户端回应服务端的SYN握手请求,所以回应ACK消息并进入ESTABLSHED状态,服务端收到客户端的ACK后也会进入ESTABLUSHED状态,此时,连接建立完成,服务端会进入RECV阻塞,客户端会进入准备发送数据阶段,只有当客户端发送完数据之后,服务端的阻塞状态才会被解除,并且继续执行后续操作,完成后会再次进入到RECV阻塞状态。
TCP优化∶把TCP无线向UDP靠拢
断开连接∶
在Socket连接后,客户端于服务端双方都可以在任意时刻关闭socket连接,此处假设客户端主动断开连接,现在客户端程序下达了close指令,程序会向服务端发送请求断开FIN消息,服务端收到FIN消息后会先回应ACK确认后再次回应FIN 消息并进入LASTACK状态,客户端收到FIN消息后回应ACK确认后进入TIME_WAIT状态,服务端收到ACK后确认断开并关闭socket描述符,而客户端需要保持TIME_WAIT状态,保持时长为2MLS(两个数据包最大生存时间的总和)
1)第一次握手:建立连接时,客户端A发送SYN包(SYN=j)到服务器B,并进入SYN_SEND状态,等待服务器B确认。

2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN(ACK=j+1),同时自己也发送一个SYN包(SYN=k),即SYN+ACK包,此时服务器B进入SYN_RECV状态。

3)第三次握手:客户端A收到服务器B的SYN+ACK包,向服务器B发送确认包ACK(ACK=k+1),此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成三次握手。
1.2.2 HTTP协议版本
HTTP协议从诞生之初到现已经经历了若干个版本,其中最主要的版HTTP/1.0,HTTP/1.1.
HTTP/1. 0是第一个得到广泛使用的版本,而HTTP/1. 1为当前伸用的主流版本。
1、HTTP/1.0简介
HTTP/1.0是第一个得到广泛使用的HTTP版本,HTTP/1. 0在HTTP/0.9的基础上增加了HTTP请求头,可支持更多的请求方法,并且能对多媒体对象进行处理。HTTP/1. 0使得包含生动图片的Web页面和交互式表格成为可能,而正是这些页面和表格促使互联网被人们广泛地接受。HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立个TCP连接,服务器完成请求处理后即断开TCP连接,服务器不跟踪每个客户,也不记录过去的请求。
2. HTTP/1.1 简介
HTTP 1.1的重点是修复HTTP设计中的缺陷,从可扩展性、缓存处理、带宽优化、持久连接、host头、错误通知、消息传递、内容协商等多个方面都做了相关改进。HTTP/1.1 是当前互联网主流的HTTP版本。
在连接方面,HTTP/1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟。
在请求头方面,HTTP/1.1 增加了更多的请求头和响应头信息,用以增强HTTP功能。例如:host主机头功能,可以让Web浏览器使用主机头名来明确表示要访问服务器上的哪个Web站点,这样就可以使用Web服务器在同一个IP地址和端口号上配置多个虚拟Web站点。
HTTP/1.1的持久连接,也需要增加新的请求头来帮助实现,例如,Connection 请求头的值为Keep-Alive时,表示客户端通知服务器返回本次请求结果后保持连接; Connection 请求头的值为close时,表示客户端通知服务器返回本次请求结果后关闭连接。HTTP/1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头等。
1.2.3 HTTP请求方式
在HTTP通信中,每个HTTP请求报文都包含一个方法。用以告诉Web服务器端需要执行哪些具体的动作,这些动作包括:获取指定Web网页、提交内容到服务器、删除服务器上资源文件等,这些HTTP请求报文中包含的方法被称为HTTP请求方法:
HTTP方法有以下几种:
1、GET:客户端请求指定资源信息,服务器返回指定资源。
2、HEAD:只请求响应报文中的HTTP首部
3、POST:将客户端的数据交到服务器。
4、PUT:用户从客户端向服务器传送的数据取代指定的文档内容
5、DELETE:请求服务器删除Request-URL所标识的资源
6.MOVE:请求服务器将指定的页面移至另一个网络地址。
1.2.4 HTTP状态码
1、HTTP状态码介绍
HTTP状态码( HTTP Status Code)是用来表示Web服务器响应HTTP请求状态的数字代码。
每当Web客户端向Web服务器发送- 个HTTP请求时,Web服务器都会返回 一 个状态响应代码。这个状态码是一个三位数字代码,作用是告知Web客户端此次请求是否成功, 或者是否要采取其他的动作方式。
HTTP 协议1.1版本中的状态码可以分为五大类。
状态码范围:
100~ 199:用于指定客户端相应的某些动作
200 ~299:.用于表示请求成功
300~ 399:用于已经移动的文件,并且常被包含在定位头信息中指定的地址信息
400~499:用于指出客户端的错误
500~ 599: 用于指出服务器的错误
HTTP响应的状态码种类很多,但是在实际生产环境中,经常遇到的状态码却不是很多,我们来看看常见的一些状态码。
200或300没有问题
出现400范围找客户端出现500找服务器
200 – OK :服务器成功返回页面,这是成功的HTTP请求返回的标准状态码
301 - Moved Permanently :永久跳转,所请求的网页将永久跳转到被设定的新位置,例如:从www. baidu. com跳转到www. taobao. com
403 - Forbidden ;禁止访问,虽然这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当。
404一Not Found :服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源
500-- Internal Server Error :内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务 器的设置或内部程序问题导致例如:SELinux开启,而又没有为HTTP设置规则许可,客户端访问就是500。
502一Bad Gateway :坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致。
503 一Service Unavailable:服务当前不可用,可能是服务器超载或停机维护导致的,或者是反向代理服务器后面没有可以提供服务的节点。
504 一Gateway Timeout :网关超时, 一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前端代理服务器。
HTP状态码的命令行查看
可以通过curl命令,curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl 支持包括HTTP、HTTPS、 ftp 等众多协议,还支持POST、cookies、 认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
[root@localhost ~]# curl -I www. baidu. com // -I:只显示请求头信息HTTP/1.1 200 OK
Server: openresty
Date: Thu, 22 Feb 2018 03:37:31 GMT
Content -Type: text/html; charset=utf-8
Content Length: 127686
Connection: keep-alive //保持连接
Vary: Accept Encoding //访问权限
Last -Modified: Thu, 22 Feb 2018 02:22:47 GMT //.上次最后修改时间
Vary: Accept-Encoding //访问状态
ETag: “5a8e2977-1f2c6”
X- Server: www. baidu. com
Accept- -Ranges: bytes
X- Server: izwz95kki96pw0j3ilyld1z
Acceot-Renges:bytes 是否接受字节范围的请求,该首部字段是用于告知客户端服务器是否能处理范围请求的,以指定获取服务器端某个部分资源,它可以指定字段值有两种,可处理范围请求时指定共为bytes,反之指定为none。
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform //控制缓存的行为
Private:仅向特定用户返回相应
No-cache:强制向原服务器再次验证
No-store:不会请求或相应任何内容
Proxy-revalidate:要求中间缓存服务器对缓存的相应有效性进行确认
No-transform:代理不可更改的媒体类型
Connection:keep-alive:保持连接,逐条首部,连接管理。在1.1之前的版本默认的都是非持久连接(短连接),如果想在旧版本的HTTP协议上维持持续连接,则需要制定Connection的值为Keep-alive
Content-Length:277 试题主体的大小(字节)首部字段Content-Length表明了实体主体部分的大小(单位是字节)。对实体主体进行内容编码传输时,不能再使用Content-ength首部字段。
Content-Type:text/html 实体主体的媒体类型
Date:“575e1f5c-115” 资源匹配的信息 首部字段ETag能告知客户端实体标识。它是一种可将资源以字符串形式做唯一性标识的方式。服务器会为每份资源分配对应的ETag值
Last-Modified:Mon,13 Jun 2016 02:50:04 GMT //最后的修改时间
Pragma:no-cache 报文的指令 无缓存强制向源服务器再次验证 no-cache指令的目的是为了防止从缓存中返回过期的资源,缓存会向源服务器进行有效期确认后处理资源。
Server: bfe/ 1.0.8.18 httpd服务器的安装信息
该首部字段告知客户端当前服务器上安装的HTTP服务器应用程序的信息。不单单会标出服务器上的软件应用名称,还有可能包括版本号和安装时启用的可选择。
1.2.5 HTTP报文
HTTP报文中有很多行内容,这些行的字段都是由一些ASCII码串组成,但各个字段的长度是不同的。HTTP报文可分为两种,一种 是从Web客户端发往Web服务器的HTTP报文,称为请求报文( Request Message)。 另外-种是从Web服务器发往Web客户端的报文,称为响应报文(Response Message) ,HTTP 的请求和响应报文的格式类似。

  1. HTTP请求报文(Request Message) 介绍
    HTTP请求报文由请求行、请求头部(header)、空行和请求报文主体几个部分组成
    (1)请求行
    请求行是请求报文的第一行, 用来说明客户端想要做什么。内容由请求方法字段、URL字段和HTTP协议版本字段组成,它们之间用空格分隔。
    (2)请求头部
    请求头部由关键字/值对组成,每行一对, 关键字和值用英文冒号“.”分隔。请求头部的作用是通过客户端把请求的相关信息告诉给服务器。与请求报文相关的最常用的请求头是Content- -Type和Content-Length。
    (3)空行
    最后一个请求头部信息之后是一个空行,通过发送回车符和换行符,通知Web服务器空行以下不会有请求头部的信息了。
    (4)请求报文主体
    请求报文主体中包括了要发送给Web服务器的数据信息。请求报文主体不会应用于HTTP的GET命令方法,而是应用于POST方法。POST 方法适用于需要客户填写表单的场合。
  2. HTTP响应报文(Response Message)介绍
    HTTP响应报文由起始行、响应头部(heder)、空行和响应报文主体这几个部分组成,和HTTP请求报文格式类似。
    (1)起始行
    响应报文的起始行也叫状态行,用来说明服务器响应客户端请求的状况。一般为协议及版本号、数字状态码、状态情况。例如: HTTP/1.1 200 OK
    (2)响应头部
    和请求报文类似,起始行的后面一般有若干个头部字段。每个头部字段都包含一个名字和一个值,两者之间用冒号分隔。头部结尾也是以一个空行结束的。常见的头部信息有:Content -Type: text/html; charset-utf-8等 键值对
    (3)空行
    最后一个响应头部信息之后是一个空行,通过发送回车符和换行符,通知客户端空行下文无头部信息了。
    (4) 响应报文主体
    响应报文主体中装载了要返回给客户端的数据。这些数据可以是文本,也可以是二进制的(如图片、视频)。
    Web服务器接受到请求后,返回-条HTTP响应报文,这条响应报文中包含了HTTP 的版本号(HTTP/1.1 )、成功的状态码( 200)、状态描述(OK),以及若千个响应头部字段,,在所有这此内容之后跟着包含了所请求资源的响应主体。Content-Length首部说明响应主体的长度,Content-Type首部说明文档的MIME类型。
    1.2.6HTTP协议原理及重点分析
    HTTP协议属0SI模型中的第七层应用层协议。HTTP 协议的重要应用就是www服务应用。以HTTP协议进行通信时,需要有客户端(即终端用户)和服务器端(即Web服务器),在Web客户端问Web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器之间建立一个TCP/IP连接。
    整个HTTP协议请求的工作流程:
    (1)终端客户在Web浏览器地址栏输人访问地址http://www. yunan. com/ index. html
    (2) Web浏览器请求DNS服务器把域名www. yunan. com转换成Web服务器的IP地址,此处的解析过程就是DNS解析的原理流程。
    (3) Web 浏览器将端口号(默认是80)从访问地址(URL)中解析出来。
    (4) Web 浏器通过解析后的IP地址及端口号与Web服务器之间建立一条TCP连接。
    (5)建立TCP连接后,Web 浏览器问Web服务器发送-一条HTTP请求报文。三次握手
    (6) Web 服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。
    (7) Web服务器关闭HTTP连接,关闭TCP连接,Web 浏览器显示访问的网站内容到屏幕上。1.3 HTTP资源
    1.3.1媒体类型
    互联网上的数据有很多不同的类型,Web 服务器会把通过Web传输的每个对象都打上MTME类型(即MIME type)的数据格式标签。最初设计MIME (Multipurpose Internet Mail Extension多用途因特网邮件扩展)是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。MIME在电子邮件系统中工作得非常好,后来,HTTP 也支持了这个功能,用它来描述数据并标记不同的数据内容类型。
    当Web服务器响应HTTP请求时,会为每 一个HTTP对象数据加一个MIME类型。当Web浏览器获取到服务器返回的对象时,会去查看相关的MIME类型,并进行相应处理。
    MIME类型存在于HTTP响应报文的响应头部信息里,它是种文本标记, 表示种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔.
    MIME类型 文件类型
    text/html html、 htm文本类型
    text/css css文本类型
    image/ xml xml文本类型
    Image/ json 交互式文档
    image/gif gif图像类型
    image/ jpeg jpeg、 jpg图像类型
    video/ mp4 MP4视频类型
    video/quicktime mov视频
    appl ication/javascript js文本类型
    video/x -msvideo avi视频类型
    常见的几种MIME类型还有很多
    1.3.2 URL介绍
    URL,全称为Uniform Resource Location,中文翻译为统一资源定位符, 也被称为,网页地址(网址)。如同门牌一样,它是因特网上标准的资源唯一地址。 通俗地说,URL 是Internet上用来描述信息资源的字符串,主要用在各种www客户端和服务器程序上。URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。严格来讲,每个URL都是一个URI,它标识一个互联网资源,并指定对其进行操作或取得该资源的方法。
    URL 的格式由下列三部分组成:
    第一部分是协议,例如: http.
    第三部分是主机资源的具体地址,如目录和文件名等, 例如: teacher/index. html
    第一部分和第二部分之间用“

    Web 和http协议相关推荐

    1. Exchange Web Service(EWS) 协议同步邮件

      Exchange Web Service(EWS) 协议 EWS是微软实现的一种客户端和服务器之间的交换信息的协议.Exchange Server提供了包括从电子邮件.会议安排.团体日程管理.任务管理 ...

    2. web和httpd协议

      web和http协议 1.1 HTTP服务的重要基础 1.1.1 用户访问网站基本流程 我们每天都会使用Web客户端上网浏览网页.最常见的Web客户端就是Web浏览器,如通用的微软Internet E ...

    3. java web七:http协议

      HTTP协议用于定义客户端与web服务器通讯的格式. telnet 还可以这么玩: 1. 首选启动一个tomcat.  2. 然后如下命令连接. 3. 按下clrl+] 组合键,再按回车键, 再输入如 ...

    4. python 全栈开发,Day66(web应用,http协议简介,web框架)

      一.web应用 web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式C/S.B/S.C/S是客户端 ...

    5. Web服务技术协议:REST与SOAP

      Web服务技术就有SOAP(Simple Object Access Protocol,简单对象访问协议)和REST(Representational State Transfer,表示性状态转移) ...

    6. http协议实现web服务器,http协议实现web服务器

      http协议实现web服务器 内容精选 换一换 简要介绍Httperf是用于衡量Web服务器性能的工具. 它提供了一种灵活的工具来生成各种HTTP工作负载并评估服务器性能. Httperf的重点不是实 ...

    7. 三、Web服务器——HTTP协议 Response对象 ServletContext对象 学习笔记

      今日内容 1. HTTP协议:响应消息 2. Response对象 3. ServletContext对象 HTTP协议: 1. 请求消息:客户端发送给服务器端的数据* 数据格式:1. 请求行2. 请 ...

    8. java web认证考试_用Java实现Web服务器HTTP协议

      一.HTTP协议的作用原理 HTTP协议的作用原理包括四个步骤: 1.连接:Web浏览器与Web服务器建立连接.2.请求:Web浏览器通过socket向Web服务器提交请求.3.应答:Web浏览器提交 ...

    9. Web之http协议(一)

      一.我们是如何使用web网站的? 首先,我们会在浏览器的地址栏里面输入web网站的地址.然后就可以见到浏览器出现了相关的内容了.其实这一个过程是web浏览器通过请求web服务器,然后把web服务器的内 ...

    最新文章

    1. 这38篇原创文章,带我入门深度学习!
    2. 【前沿】何恺明大神ICCV2017最佳论文Mask R-CNN的Keras/TensorFlow/Pytorch 代码实现
    3. GNU make manual 翻译( 一百八十一)
    4. SAP UI5关于navigation API的boolean参数
    5. grep搜索子目录中包含某字符串的特定文件
    6. 【AtCoder】ARC 081 E - Don't Be a Subsequence
    7. android和view相关的东西
    8. 树的最大独立集详解(C++)
    9. 基于Linux系统的网络聊天室实现
    10. AIRIOT答疑第3期|如何使用物联网平台的可视化组态引擎?
    11. Python入门-编写简单名片管理系统
    12. 研究生必须过计算机和英语吗,2020考研:英语一75分,她是怎么做到的_计算机考研科目...
    13. 3GPP协议文档查询网站
    14. Ant Design Pro 使用Authorized组件做权限验证
    15. 'wx' is not defined no-undef
    16. (七)苏世民:我的经验和教训:决策(34)
    17. Python-pptx Slides
    18. 学渣的刷题之旅 leetcode刷题 13.罗马数字转整数
    19. 电传输之POE供电的介绍
    20. 格鲁伯小升初文学常识必考

    热门文章

    1. 研发里那只看不见的手,勒的很疼
    2. 长篇故事| 世上的感情真的需要门当户对吗?
    3. SPEC 2000使用的详细介绍(1)
    4. 阿里云ACP认证有用吗?
    5. CC00417.CloudKubernetes——|KuberNetesNetworkPolicy.V09|——|NetworkPolicy.v09|隔离中间件服务.v05|
    6. 关于MSP430单片机串口通信数据丢失问题
    7. [PHP代码审计]LightCMS1.3.7存在命令执行漏洞
    8. NFT: 开启加密艺术时代的无限可能
    9. C语言:strcpy()---字符串复制
    10. 双方博弈复制动态方程(y-z,z=0.3,z=0.5,z=0.7)与matlab数值仿真——matlab2016a版本