00:00
好,哎,下面我们来说这个请求报文,呃,报文的格式,我们刚刚说了,简单的介绍一下HTP协议,包括这个1.0跟1.1的一个区别,包括发展历程啊,这些都是了解的啊,呃,这个报文里边都有什么这个呢?哎,大家再了解一下啊,理解一下来看这个请求报文,报文的格式是由什么呢?请求首行。呃,请求首航。我们简称为请求行,后边括号里边啊,我们都是简称,哎简称请求首行,我们这个为了好记叫请求行,哎请求行请求投信息,呃,上面这个呢,请求首行,请求投信息呢,就属于我这个报文的一个哎首部了,哎报文的首部下边是报纹的主题就是这个,如果是get的请求没有请求体啊,破S请求有请求体。好,请求首行哎,称请求行请求头信息,诶,我们叫请求头,呃,中间一个空行,下边呢就是请求题,这是请求报文的格式,诶,一个请求首行诶,我们叫一个请求行,一个请求头,一个空行,下边是请求题,这是请求报文的格式,下边呢给大家。
01:08
通过这个报文里边啊,粘过来一下,我们来看一下,那这个在这个里边呢,第一行这个就是请求,首行就叫请求行,请求行里边有你的请求方式。这是一个get请求。然后这里边呢,这是一个请求的地址,后边呢,就是HTB的协议的版本了,1.11.1,那下边这些东西呢,就是请求头里边的内容了,哎,请求头里边的,哎,请求头里边的啊然后注意get的请求呢,没有请求题,也就是对于get请求来说是没有这个请求体的,哎,没有请求体的post请求才有请求体,诶才有请求体这个你们之前讲前端的HTML时,诶,你发现创建一个form表,但是master是不是可以指定get和post?对吧,如果指定为get,默认是不是也是get呀。诶,如果指定为POS,它就发送一个POS请求,诶,那那么这个你在表达里边输的那用户名密码什么的,都通过请求体发送到服务器了,诶如果要是get的请求呢,没有请求地,他直接在地址栏,通过地址栏发给发给服务器了,所以就是这块啊这块这是这个呃请求。
02:13
请求报文啊,请求报文,那再往下就是我们这个这里边啊,就是给大家简单的说了一下这个报文里边这每个属性是干啥的,比如第一个盖的什么请求,包括这个呃,主机cost这块的用户的用用户的一些信息,包括你使用的浏览器啊,还有你的系统啊等等啊都可以,包括这个接接触的这个文档类型,还有接触的这个,呃,当前知识的语言,呃,这个接触的这个压缩格式等等啊哎,这个知识的什么链接方式等等,这里边啊都有啊,给大家这个详细的说明了啊,详细的说明了好,那下面啊,我们就来这个通过来发一个请求来看一下这个报文信息。来,我们创建一个工程。哎,再创建一个。就像那个外国。
03:02
小写了啊,外部零一整个下划线吧,HTTP。来,我们来新建一个文件,没点中。Pack。卖。然后呢,在这我们这个导一下,包我先写这个。函数版。好,写完它之后呢,我们还是啊在这干什么呢,这个哎。调用。调用那个处理器。处理请求。好,下边呢,诶来路由。好,我们先把注释写上啊,下面呢,来里边写代码,那我先创建一个这个处理器函数,来写个注释吧,创建这个处理器函数。
04:02
比如就这一个hand德了,这个名字无所谓啊,里边的参数注意诶,不能乱写了,WHTTP点一个。Response writer writer,这是第一个,然后第二个是R。HTTP点了一个request request好,然后在里边。哎,我们这个。随便写一个啊,Fmt点一个。好,诶这块呢,我们先把这个W输入,把这块写一下他们的测试HTTP协议。啊,这个不是我们想看的啊,我们最主要的就是看保温信息,保温信息好,这个处理器函数我们创建好了,下面呢,我们来调用处理器的来处理请求。HTTP点一个这时候掉憨啊,还是憨放开啊。Handle fun对吧?哎调它,因为我这是一个函数,哎,它是不是能帮把这个处理器函数自动的给我们转成处理器,对吧?哎,如果要调handle的话,你这块需要有一个什么结构,哎,一个结构体,然后呢,实现那个handle啊,Handle啊,Handler那个接口啊,就是SHTTB,哎那个方法好括号我们写一个映射的一个请求,比如就叫HTTPHTTP好后边呢,传一下我们这个handle德ler。
05:27
好,然后下面路由HTTP,点一个listen and so端口号8080。逗号牛,好哎,就这样了,好哎这个写完了,下面呢,我们来哎运行一下。Build,慢点,Go。慢点,Exe。允许。把这个关掉了啊好来地址栏。
06:07
Localhost斜杠。HTTP。好,诶没问题啊,测试HP协议,然后呢,我们要看报文信息,我们按F12。F12。点这个network啊,点这个network.network之后呢,我们就可以来监听了,来啊我们把这个。把这个清一下,我们来刷新。好诶这时候呢,哎,发了一个请求HTTP,就是我们那个斜杠HTP,然后呢,把它点开,点开之后呢,诶报文信息,诶就在这啊,报文信息就在这,就在这这块有个general,就是这个那些通用的些信息呢,这谷歌浏览器啊帮你整理了一下,比如呢,请求的URURL,就是请求的地址是什么,你的请求方式是什么?Get还有一个状态200,就是OK,哎就是成功了,成功了,这也是我们想看到的一个状态200 200下边就是我的一个呃,这个地址了啊。
07:03
这个是127.0.01类应该是8080。好,那我们要看这个请求报文呢,哎,所以呢,下边这块有个respond这响应的,我们得看这个request,哎,这是请求报文里边的信息,那请求报文呢,我们刚刚说了分请求首航,我们简称为请求行,还有请这个请求的。的头对吧,请求投信息我们叫请求头,诶一个空行,诶请求体,因为我们现在发的是一个get请求,没有请求体,所以我们现在来看一下请求行和请求头。这块是它格式化之后的啊,格式化之后的你可以点一下这个view source,如果你用的是谷歌浏览器的话,你可以点一下这个view source点开好,诶这就是我们的一个报文信息了,我们来看一下。好,第一行这个呢,就是请求,首行就是我们简称的请求行信息。有这个你的请求方式get啊get,还有你的请求的地址HTTP,哎,还有我们的协议的版本HTTP斜杠1.1版本,1.1版本,那下面这是主机地址了,LOW8080,包括这个链接的一个状态table alive,然后这块这个catch controltrl,就是是否有缓存的意思啊嗯,包括这个什么呢?更新的这个。
08:15
请求,诶一这块这个u agent,这就是你这个什么,使用用户的一些信息,比如使用的这个Windows win10系统64位,还有后边的。啊,Chrome谷歌浏览器等等,那之前啊,之前我们这个有时候访问某个论坛的时候,或者访问其他有一些小的网站的时候呢,它会显示比如当前用的什么系统什么的,可能我们当时感觉哎呀这么高大上啊,我用的什么系统他就知道了,对吧,其实是你自己把你出卖了,对吧,你发请求的时候,这个报文信息里面是不是都有啊。诶都有,所以呢,他知道你用的什么系统,包括多少位的,包括你用的浏览器,它都能都能从这里边来获取到啊获取到,诶所以呢啊不是他多厉害,是你自己把你的信息已经泄露了,其实现在生活在我们现在这个社会里边。
09:03
呃,基本上你没有什么隐私对吧?一查你查什么都能查出来,只是没人查你而已,对吧,你又不是什么名人。所以啊,这个现在你这你这个什么意思都没有了,因为我们什么都基本上什么注册这呀,注册那呀,包括这在这填的信息,那填信息啊,因为现在有有专门那种什么卖信息的呀,或者什么呃,有时候你经常接到那种骚扰电话,对吧,什么这个卖房的了给你打的人弄这了给你打的,所以那些东西都是有专门的这些东西,这些机构卖信息给他们啊。好,再往下这一块呢,就是接收的这一个文档类型了,什么呢?H38页面,哎呀,前面整了这么多,哎还后边有个什么呢,新杠星,这是不是就所有了呀。哎,所有了,所以呢,这个基本上都接都能接受啊,都能接受这个类型,还有这里边有个Q,等于什么0.9或者0.8,这是权重的意思,就是占百分之多少,90%,80%,就这个意思啊,还有接收的这个压缩格式,诶这里边这些信息也非常的简单啊,非常简单,诶就知道你在发请求,这些信息呢,就属于请求头里边,请求报文里边的内容,请求报文里边的内容,因为该的请求没有请求体,所以呢,这块只有请求行和请求头,没有请求体,没有请求体诶这是请求头里边的一些信息啊,一些信息,这是这个get请求,那么post呢,是有请求体的啊,Post请求请求体的,那好,那我如果想发一个POS请求该怎么办呀?
10:36
的啊。我是不是得得得写一个表单了呀,对吧,我在这里边,哎,来右键我们来新建一个文件,哎,比如叫一个。有个什么呢,叫index HTML,哎,我创建一个HTML页面,那里边这个标签。这个标签。有一个HTML跟秒杀,你自己写多多慢是吧。
11:05
里边。里边都是啥标签啊?Head和。对吧。Body,好,Head里边是不是有一个title和Meta对吧,买ta。买了。字就是标签里边有一个叉,Set等于UTF杠八,UTF杠八。好,然后还有个title title就不写了啊,Body body里边呢,我们来写form,写个表单。Form表单里边有个action。Action,来斜杠,嗯,HTTP我要发到这,发一个HTP请求吧,好,Method。Post,哎,这样是不是才能发一个POS9对吧?好哎来里边我们比如写一个用户名。
12:07
银铺的。Tab。来整一个内幕。Username,好。斜杠结束了,来一个换行,第二。好,再来复制一个。来一个密码。改成一个password。Password。最后一个提交按钮,Input。看。等于一个me。哎,提交按钮啊,提交按钮,那这个表单,哎写完了,写完之后呢,我们这个得。
13:01
内幕怎么了?Password写错了吗?Input text没问题吧,没问题啊,我们来在资源管理中显示,我们把它打开啊。好诶,这是这样的一个表单啊,比较丑啊,不用管它啊,来我们右键查看源代码来看一下,呃,提交到的是斜杠HTTP,诶HTP,我们这个处理请求是不是也是处理斜杠HTP啊,所以这块啊是没问题的啊问题的好,那现在呢,我们这个发的是一个POS请求,比如我来梳理一个内容。好的咪,哎,输入一个123456,好来我们同样F12。按错了F12,其实这个信息差不多啊,差不多network,我们来点一下提交。Action。啊,对。Action。
14:00
啊,对,我得写全一点是吧。他这样提交还不行啊,这样提交还不行。HTTP。斜杠,斜杠。Host冒号8080斜杠HTB好,那样写还不行啊,会在本地打开的来。刷新一下它刷新一下,它把这个清一下啊,清一下再来一个ME123456。提交好,哎,不用HTML写了,不用重启,服务里面写了没,不用重启啊好,我现在呢,我们再给点开它。诶,点开它,诶来看一下现在的请求方式不是变成poose了,对吧?诶我提交到表单啊提交表单好,这个呢,通用的,它给整理的这个信息我们就不看了啊,我们直接看这个请求报我里边的信息,Request head,我们把这个打开,诶来看,诶这也是请求,行,诶现在呢,我发的是一个posts请求,同样用的这个协议呢,也是1.1,也是1.1,下边就是主机的跟那个是类似的,就多了一个什么content list,是不是内容的一个长度啊。
15:08
哎,长度啊,30个字节啊,30个字节,其他的都基本上一样的啊,基本上一样的,还有一个content type,就内容那个类型啊,内容类型其实这个属性是什么啊,在我们这个表单里边的默认有一个叫include ta就in ta那个属性,它默认的值就是它,其实这个值就是这个啊。其实默认是它,我们没有指定啊,就是这个,你看默认的就是它application,哎,斜杠杠啊,WW杠,Form-ul默认它为什么要有这个值呢?啊,因为你这个做posts请求呢,提交表单的时候,里边这些数据是通过请求体发送过去的,那它必须得对表单里边这些数据进行URL编码,在后台我才能得到里边的值,所以呢,默认的值是它只是我们平时写表单的时候不用显示的指定它,因为它默认就是它了。诶,如果你要指定为第二个叫multi part form data,那这个时候呢,你在后台再通过request的获取,这里边的参数就获取不到了,诶它是为了对上传文件的时候来指定的,哎,上传文件指定这个multi data,哎,所以啊那块那个值,呃,Content time内容的类型,哎后边那个值就是这个application叉MLX,呃杠这个3W点啊3W-form-ul啊,它是对数据里边这个表单里边数据进行UR编码的啊UR编码的哎,这是这一块,那再往下这块U的A面什么的啊,就跟我们那个GA牛那个是类似了,包括这个接触的语言,ZC中文简体,后边还有什么呢?E us这个美国的一个英国的英语啊,美国的英语就是这个请求啊,请求请求报文这个呢是请求行诶下边这一堆。
16:43
诶,就是请求什么呀。请求头对吧,哎,这个啊,这是请求行,哎,然后呢,从这到这,这都是请求头,那么请求题。
17:00
哎,就这个,哎U3内等于它为什么说这个HTP为什么有了2.0呢?因为它不安全,诶HTTP协议呢,它是纯文本的无状态的协议,你看现在如果你要是用HTTP这个协议,是不是用户名密码就直接暴露了。对吧,因为在这里边你F12能看到报文信息嘛,我能截截取你这个报文信息,所以这时候呢,用户名密码一目了然,你输的用户名是我的密,输的密码是123456 123456,虽然我们正常的比如写这个项目,如果比较比较复杂的话,里边页面比较多的话,当你发起的时候,这块它有好多。一个请求会有一个条,一个请求会有一个条,一个请求会有一个条,所以呢会有好多条,可能你找这个比较费劲,对吧,但只能那相对来说它还是比不安全的,还是不安全的,因为你一个页面里边可能引入了CS的样式,引入了好多,可能引了GS文件,还引用了图片,引用了什么,所以呢,这块正常来说,我们访问一个页面,它会有好多的啊,会有好多的,比如说我们这个假设访问京东或访问百度。我们来试一个啊,我们我们连着网呢,对吧,连着网就是有好处。
18:05
F12。哎,访问一个3W点这个百度页面是不是太简单了。你看啊。诶,它会有好多请求,诶会有好多请求,所以呢,这个时候你就个点开百度,你看这里边诶有好多东西内容,你看包括cookie啊什么东西啊都有啊都有,所以那你虽然这个你能看到,但是有时候你看找那个信息还是比较费劲的啊,比较费劲的,因为只要一个条,它就是一个请求,一个条就是一个请求,因为这里面有好多图片吧,他都需要,都需要来请求啊,都需要来请求,这是我们这块这个,呃请求报文,诶请求报文这个盖的请求跟请求这个区别不是很大,诶不是很大,大部分内容都是相等的,只是呢,请求同那块,Get呢是get,诶poose呢是POS请求。还有一个就是get请求呢,没有请求体,诶它的请求信息呢,是在地址栏传过去的,POS请求呢才有请求体啊,就是这一块,诶大家说一下这个报文的信息,请求报文。
我来说两句