00:00
好,上午啊,给大家说一下,怎么在购物里边呢,来搭建这个服务器,诶我们以及怎么来创建这个处理器,哎,我们这个,呃,看看你还有没有印象,我再跟他再说一下啊,说一下创建这个服务器呢,很简单很简单,调一下那个方法,那个方法是什么呀。Listen and solve是吧,里边传一下监听的端口,然后呢,你可以传一个这个多路复用器,不过呢,我们也可以用默认的直接传new就可以了,用默认的叫defpot,这个server max对吧,是个默认的啊默认的那么这个,呃,这个处理请求的时候呢,我们调两个方法,哎,两个方法这个如果你要调那个handle度方法的话,前面handle度方法里边需要传两个参数,第一个参数是要映射的要处理的请求,这个请求的地址对吧?第二个参数呢,是一个处理器对吧?那处理器怎么创建呢?是不是你需要写一个。需要实现那个handle了那个接口啊,对吧?哎,Handle了接口啊,需要实现那个handle了接口,比如你写一个结构题,然后呢,里边这个写一个结题的一个方法呢,放上来叫server htp里边那个参数,诶一个是这个,呃,HTV点一个response writer,一个是request的一个指针,诶这个参数是固定的啊,人家那个接口里边定义的那个方法里边就是个参数,所以你相当于这个实现那个方法了嘛,实现那个接口只要实现那个方法就可以了,然后这样它就是一个哎处理器了,也说只要实现了那个SHTP那个方法就可以,哎,它就放有处理器了,那么我们还可以呢,调另外一个方法叫handle fuck对吧?诶,前面也同样是一个处理的一个请求的一个地址,但是后边呢,是不是直接传一个函数就可以了。
01:39
对吧,传一个函数,它能自动的把那个函数给你转换成处理器,但是呢,这个函数的参数是不是有要求,必须得是response类型和。快速一个指针对吧,这这块啊,在这块还有我们还说了其他的创建服务器的方式,我还可以什么呢。这个配这个服务器的一个详细信息,诶,这个创建一个server,这个实呃实例里边可以配在那个字段什么那个地映射的地址啊,包括什么读的超时的时间,写的超时的时间,还有处理器等等也可以详细的配置,哎,我们还可以自己创建一个多路复用器,就是用那个m max new,一个这个server max诶。
02:18
调那个呃方法就可以了,这是我们这个说的啊,其实呢,大家掌握一个啊,比如我们写那个hello word就可以直接比如写一个函数,函数的这个参数是response write类型,还有一个HTP快一个指针类型,然后下面呢,直接调一个HTTP,点一个handle动,诶传一个这个呃,处理请求的一个地址,然后传一下这个上面那个呃,不是啊,调这个hand funnk啊,传一个处理。请求的一个地址,然后传一下上面的一个函数,呃,这个这个处理器函数的函数名就可以了,好,那下面我们来说一下这个HTTP协议,也就是我这个前端。我们看看这个图啊。前端客户端向这个服务器发请求的时候,以及服务器给这个客户端显让的时候,他要遵守一定的协议,因为我们都知道无规矩不成方圆嘛,你这个在网上发请求呢,他也需要遵守一定的规则,那这个规则呢,就是接下来我们要说的这个HTTP协议,也他两个需要遵守一定的协议,包括你们来商务学习是不是也签订的协议呢?
03:18
对吧?诶现在你干什么基本上都要签协议,包括你办个手机卡去营业厅是不是给你一张单子办银行卡等等,只是我们不看那个协议,包括你安装软件是不是也得遵守一个一定的协议,有一个选项接受,对吧,你不接受还不让你装,还不让你安装那个协议我们一般都不看,直接就过了,对吧?诶包括你现在这个办什么都是那样啊,协议什么都不都不看,直接签字了,签了什么也不知道,结果后来呢,有。有人告诉你了,诶你啊之前签过这个东西,诶我不知道对吧,好啊来看诶这个协议,这个协议呢,叫HTTP协议,客户端与服务器端,它两个遵溯的规则就是HTP协议,哎,我们来看一下啊。呃,因为编写外部应用呢,必须对HTP有所了解,所以呢,接下来我们就对这个HTTP进行一个介绍,HTTP的全称是超文本传输协议,这是它的一个全称,你们之前讲过HTML。
04:12
还有什么ATM全称还记得吗?Hypertext markup language对吧?哎,超文本是吧?哎,超文本传输语言,超文本标记语言,那这个是超文本传输协议,这是它的一个全称,那是一个属于应用层的一个面向对象的一个协议,嗯,由于其什么简洁快速适用于分布式,什么超媒体信息系统,这些东西都不读了,我们看这个黑色的字体,它是一种详细规定了浏览器和万维网服务器之间通信的一个规则,也就是你浏览器你的前端的客户端跟浏览器之间,跟服务器之间进行交互,那个规则就是我这个协议里边规定了你客户端给服务器发的叫什么,服务器给浏览器就是给客户端发的叫什么,诶都在我这个协议里边已经给你规定好了,诶我们来看一下客户端与服务器,服务端通信时传输的内容,我们称为豹文。
05:01
哎,豹纹啊,不是那个豹纹啊,是豹纹,豹纹就是他两个之间交互传输的那内容啊,叫豹纹啊叫豹纹,那你平时这个呃,写信啊什么的,你写的那个那个信也有一定的格式,我们这个两个之间交互呢,也有一定的格式,这个格式这个内容呢,叫报文,这个报文的格式我们就来说啊好,下面HTP就是一个通信规则,哎,那这个既然。客户端跟服务器端传的内容呢,叫报文,那么在细分的话,客户端发给服务器端呢,叫请求报文,诶相当于你这个客户端想请求一个内容,比如那你要登录,我就请求一下,看看我的用户名密码对不对,你给我,你给我检测一下,诶注册那就看一下我的用户名是不是已经存在了,诶不存在你就帮我注册,这个下面我要发个请求,你得帮我处理一下,所以这块客户端发给服务端的叫请求报文,服务端发给客户端的叫响应报文,那你发了请求之后,我校验完之后呢,到底的用户名里面密码对不对啊,不对,我也得给你一个消息,对,我也得给你消息,那这个服务器发给这个客户端的啊,这个就叫响应报文,一个是请求,一个是响应,这个也好理解啊,有他俩之间发的内容呢叫报文,嗯,客户端给服务器呢,发的叫请求报文,服务给客户端发的叫。
06:15
象声豹纹,诶这是这块啊,就这几个,就是多了这个这三个概念,哎三个概念,诶一个是这个豹纹,哎,它两个之间交互的内容,哎传输的内容叫报文,哎这个客户端发给服务端的叫请求报文,诶服务端发给客户端的叫想象报文,好。诶,这个你了解一下啊,下面的是这个HTB协议的一个发展历程,其实上午我们也说了,这个现在呢是HTp2.0的一个HTPS,一个安全的协议,为什么有了HTPS呢?因为这个HTP协议它是一个纯文本无状态的一个协议,什么是纯文本,也就是他两个之间。发送这些报文信息,我们直接就可以看到纯文本的,诶一目了然,那当然了,你如果以这个登录为例,你要登录的时候输入用户密密码我都看到了,这样的就不安全了,哎,所以啊,这是这这个重文本呢,就就体现出来它个不安全了,那这个无状态就是啥意思呢?无状态就是我每次发发的这些请求呢,服务器它不能区分到底是不是同一个人发的,这个就属于无状态。
07:17
比如呢,我要买东西了,我第一次我我添加到购物车里边一个,呃,这个苹果手机,第二次呢,我添加到这个,呃,购物车里边一个苹果电脑,那如果要用这个HP协议来这块通过它来实现的话啊,我是发了两个请求,由于这个HTTP协议它是无状态的,那服务器就不知道你这两个请求是不是同一个人发的。啊,有可能因为上一个服务器发起就有好多啊,不止我我我买东西,其他人也买东西,如果都是无状态,但就乱了,不知道这些到底是谁买的,诶这也是他的特点啊,无状态无状态好,那下面的这我们来简单说一下这个ATP协议的一个发展历程。啊,这里边有一一大段话啊,一大段话,这里面呢,提到了一个人叫提姆伯纳斯迪,这个东,这个不是东西啊,这个人这个人他怎么了呢?哎,他奠定了这个万维网的一个基础,就是我们现在用的是3W 3W你可以认为他是万维网支付,万维网支付他奠定了这个基础啊这个基础,那这个他无偿的把这个呢奉献给了我们人类,如果啊,比如他这个大使,比如我申请一个专利啊等等什么,你要那就说可能这个非常有钱了,对吧,这个人啊,这个人在2012年的伦敦奥运会上。
08:30
他出席了。呃,这个弹钢琴。你这个可以回去搜一下啊,回顾一下,这这个人替姆伯纳斯里,就是在伦敦奥运会上开开幕式上那弹钢琴的啊,弹的什么我不知道了啊,你自己回去听一下,奠定了这个万人网的基础啊,万网的基础,然后再往下这些东西都不不带领大家一一读了啊,一一读了你就知道这个在发展的历程中,有一个人就就是提姆伯纳斯里啊,就是他这个万文网之父,哎,万文网之父。好,下边是这个协议,HP协议的一个会话方式,诶就是说服客户端跟服务器端交互,诶它需要经历几个步骤呢?诶来看一下诶浏览器,因为我们现在这是都都是通过浏览器作为这个入口与服务器进行交互,所以我们这块就直接写这个浏览器,服务器通讯需要经历四个步骤啊四个步骤第一个步骤我需要建立连接。
09:19
就是我要向你服务器发请求,你必须得有个连接,就跟你们之前讲这个,诶数据库的时候也一样,我是不是得先获取一个connection对吧,得到一个链接,我是不是才能对数据库进行增产改查对吧?怎样改查啊,所以呢,这类似啊,有点类似,第一步呢,我首先与服务器建链接,建完链接我们两个连上了,已经可以通信了,那第二步我就得发我的请求了。哎,我看到底服务器得看你到底想干啥,咱两个建立好链接了,你下面你要干什么呢?哎,需要发请求,那发完请求之后呢,服务器需要给他一个响应,你发过来之后呢,比如你要请求,诶这个看看用户名密码对不对,那我这时候呢,这校验完之后呢,告诉你啊,用户名或密码不正确,来给你一个响应信息,然后这个响应完之后呢,下面我们来关闭连接,所以这经历这四个步骤,四个步骤其实跟我们平时打电话也是类似的,你这个给你的。
10:12
这个,呃,女朋友打电话,你这个要首先呢,是不是拿起来电话拨通号码,拨通号码之后呢,你们两个之间呢,建立起了这个连接,那下一个下一步干什么呢?你得发需求了,比如说你在这学习学的时间比较长了,我来学区块链呢,我讲了三个月还没讲到呢,我有点我有点这个心里有点有点这个有点什么,哎,这个不知道用什么词来形容了啊,呃,这个我想这个发泄一下,所以呢,我就给他说了,哎,对吧,这个。这笑什么呀,然后你给他打电话,你就你就埋怨嘛抱怨嘛是吧,哎,给他说了一通,然说这个我这学习又这么累,而且呢,又没有学到我想要学的东西,而且咱两个又离这么远,咱两个又又离开这么又这个分分居这么长时间了,对吧,我这个我有点想你了,然后呢,这个马上假期也来了,也到了,你能不能过来找我呢?所以呢,重点就在最后是吧,你能不能过来找我呢?诶,所以呢,这就是你发出了你的请求,想让他过来找你。
11:14
前面铺垫了一堆是吧,终于把心里话说出来了,那这时候你把请求发过去之后啊,他不能不搭理你对吧,他得给你一个回应,那这时候你就是客户端,他就是服务器了啊,他再给你个回应,那回应到底是来呢还是不来呢,对吧?然后呢,就给你回了一个字。哎,对,你怎么知道呢?滚,嗯,然后呢,这个时候那就相当于给你这个响应了,所以呢,你就很失落的,最后呢,挂断了电话,那就是最后一步关闭链接,关闭链接,所以啊这块这四个步骤其实跟我们生活中就是很类似的,包括我们现在学什么东西,基本上都跟生活中很类似啊,很类似都源于生活而高于生活是吧,第一步建链接,第二步发请求,第三步结束响应,第四步我们就关链接了,诶我这个请求失败了,我还得继续忍着是吧,还得继学,还得继续写好了啊这是四个步骤,诶这个。
12:08
客户机客户端与服务端交互的四个步骤,好,下边也说了啊,浏览器外部服务器的过程是短暂的,每次连接只处理一个请求和响应,对每一个这个页面的访问浏览区它都要建立一次单独链接,也如我这个请求完了之后呢,你再发的时候还得重新来,诶,还得重新来啊。哎,还有这个之前所有的东西都是完全分开,请求和这个响应是一个。啊,再往下这块说的是1.0和1.1的区别,上午我们也说了啊,这个1.0。像之前的现在我们用的最多的就是这个1.11.1这个版本,等一会儿呢,我们会看一下这个报文信息啊呃,发一个请求看一下这个报文信息,诶然后呢,报文信息下面会有这个HTTP的版本,会有这个版本,那它两个有什么区别呢?就是这个提高了效率,1.1比它提高了效率,那提高了什么效率,你看下面这个图。来看这个图啊,这是我的一个,呃,浏览器这个呢,呃,这个是我的服务器,好,那现在呢,这个我向服务器想发请求,我要请求一个页面啊,请求一个网页啊,请求一个网页啊,我要向他发请求,比如请求一个页面,那请求这个页面的时候,我首先得建立链接。
13:15
哎,建立完链接,链接之后呢,服务器找到了你想请求的页面,但是呢,他发现这个页面里面是不是还有个图片。那这个图片怎么引入到页面里边,是不是有个img标签对吧?哎,用那个image标签里边有个src,是不是设置了图片的地址对吧?那这时候呢,如果你用的是这个1.0,哎,如果是用1.0,我们先来说这个1.0啊,如果要是1.0,他发现你这个文档里边有个图片,那不好意思,我还得再建立一个链接,再单独请求这个图片,再把这个图片给你拿到。诶给你拿到就是1.0的时候,是不是得建立两个链接,对吧?你请求这个页面的时候,哎建立了一个链接,但是呢,我发现页面里边还有一个图片,你还得再建立一个链接,把那个图片再拿到,这是1.0,有了1.1之后呢,诶就不一样了,只需要建立一次链接,诶就能把文档这个页面跟那图片哎都能都可以都可以得到,都可以得到,所以这个时候大家那肯定就提高了效率,哎提高了效率就是这块啊通过这个例子呢,诶给大家说了一下这个1.1,诶比这个1.0干什么呢?诶提高了效率,上面呢,这块也有一个介绍啊,你看这块浏览器请求带有图片的网页,由于会下载图片啊,与服务器之间呢,开启一个新的连接,但1.1版本中允许浏览器在拿到当前请求对应的全部资源后再断开连接,提高了效率,提高了效率,也就是说1.0需要建立两次,诶1.1呢,只需要一次就可以了,诶,所以呢,诶它就提高了效率,这是它两个的一个区别啊,一个最大的一个区别就是提高了效。
14:45
而且我们现在用的最多的就是这个1.1,哎已经不再用1.0了,这个效率低嘛,好,那再往下就是我们这个重点的内容了,就是报文了,报文的格式,我们刚刚说了,他两个之间交互的信息叫报文,那个报文那个格式是什么样子的呢?我们写信的时候,你跟那朋友往来之前写信的时候,那写信也用格式,呃,开头什么样,什么结尾怎么样,对吧,那这个报文呢,它也有一定它一定的格式,那肯定不是,呃,你发个请求,这个报文是这样的,他发个请求报文是那样的,肯定因为这个HTP它是个规则嘛,肯定要规规定好这个格式,所以呢,来看这个豹纹的格式,豹纹呢,有豹纹手部。
15:22
哎,豹纹手部还会加一个空行,下边是豹纹主题,哎,这两部分组成啊,两部分组成豹纹的手部就是头,哎,相当于头了,哎,空行豹纹主题,哎,豹文主题,那这个豹文的首播是什么呢?服务器端或客户端处理请求和想要的这个内容及属性,如你发的那个链接啊,什么有没有携带请求参数啊等等啊,都在这个里边啊,都在这个里边,那报完主题呢?哎,就应背发送的这个数据,你发的那些这个数据。比如get引牛POS请求啊,这块还有一点区别啊,还有点区别,我一会儿这个具体的来说啊,这是它这个报文的格式,那我们刚刚说了,浏览器也就客户端给服务器端发的叫请求报文,诶服务器给浏览器发的叫响应报文,那么请求报文的格式跟响应报文格式有什么区别呢?诶我们把这个也说一下啊。
16:10
我们先把这个停一下。
我来说两句