00:00
来接着看我屏幕,下面咱们一起来看一下所谓的叫HTTP。好。呃,我们回到课件当中啊,我说过这个咱们这个课件是做的是非常好的啊,大家这个课下的时候,把这个课件咱们可以一点一点的去看。啊,但是课件上的知识点我都会给大家讲到,大家不用担心的啊,课下的时候咱们再去看看这个课件,没有必要咱们在课上说说一点一点的去读,那没必要啊。我们下面来看一下所谓的叫HTTP协议。HTTP我们称之为叫hype text transfer传输。啊pro pro叫协议。叫超文本传输协议,我们取的是四个单词的首字母,叫HTTP,叫超文本传输协议。那么它最大的作用是什么?它最最大的作用就是我们请求相应的数据格式给我们规定好。就像咱们两个人,我们用对讲机互相进行通话的时候,我们总会加,总会加一个叫,叫什么呼叫长江一号,长江一号,长江一号什么收到请回答是吧。
01:03
然后说完话之后就说,哎,长江一号收到请讲是吧。然后对方就说,哎,这个叫这个叫叫什么什么什么台军是吧,台军飞机正在接近我们什么什么什么over是吧,最后总要加个over。是吧,同学们好。所以对方就回应,干就完了是吧,好。再来。这个反正这个台湾同胞,这个最后苦的也是台湾同胞是吧,所以说还是尽量不要发生战争是吧,尽量的还是和平统一吧。所以你看这个台湾这个国内的这些娱乐媒体,说说这个中国大陆这个没粮食吃,这个吃田鸡是吧。这个这讲的相声确实不错啊。来接着看啊,咱们接着看啊。嗯,我们来看一下啊。我们请求响应的这个过程,我把刚才这个图啊,把它保存下来啊。这个咱们说的是叫线程不安全。回到这。
02:04
是线程不安全的。好,我们新建一个。这是我们的客户端。这是我们的服务器端。第一步。我们客户端会向我们的服务器端发一个请求,我们称之为叫http request。我把它写在这。叫HTTP。Request。好,我们这种叫HTTP请求。好,这个字不需要加粗啊。跟他11差不多,好HTTP请求,那么这个HTTP请求当中包含哪几个部分呢?我们包含三个部分,同学们。请求所谓的叫报文啊,它包含哪几个部分呢?请求的报文包含三个部分。第一个部分叫请求,请求行。第二个部分叫请求投,或者叫请求消息头都可以。第三个叫请求主体。
03:01
好,包含三个部分。第一个。请求头。啊,或者叫请求行,第二个叫请求头。请求头或者叫请求消息头啊都可以。第三个叫请求主体。OK。或者叫请就题吧,请就题包含三个部分。我们写一下啊,在这边HTTP。称之为。称之为叫超文本传输协议。啊称我们入协议第二个HTTP是无状态的,这个一会再说啊,这个一会再解释第三个。HTTP请求响应。包含两个部分。包含两个部分,请求和响应。那么咱们先来看第一个。啊,先来看第一个请求请求。
04:02
请求包含三个部分。一请求行。二请求头或者请求消息头。第三个请求主体行吗?同学们包含三个部分,那咱们就一个一个的来看请求行里面包含什么?请求消息统里面包含什么?请求主体里面包含什么?咱们一个一个来看。请求行里面包含什么内容呢?它的作用就是展示。当前请求的最基本的信息,比如请求的方式。Poster。访问的地址。中间这个。请求协议的版本,咱们HTTP有两个版本,1.0和1.1,我们用的是1.1版本,就这样。这是请教行所包含的。请交行。包含三个信息。
05:03
包含三个信息。第一个请求的方式。第二个青桔的摇啊摇。幼儿的地址行吗?同学们,第三个是,第三个是什么?请求的协议版本嘛,请求的协议一般都是HTTP1.1行吧,同学们。就这样的,那行,现在我们进来发个请求,现在反正我这边还开着呢啊,咱们找到浏览器回到这儿。右键检查。我们找到network。现在我在这个地方,我一敲回车,是不是表示给这玩意儿发请求啊,来敲回车,一敲回车我看一下。点一下它。我们看一下这边,这边有一个叫。General。General里面是不是有个叫request URL啊?然后还有一个叫request method,是不是get呀。就这样子。好,这个就是我们请求的方式,这个就是我们请求的这个121。
06:05
OK。我们再来往下看一点啊。稍等啊,我们找到request在这。第二个部分叫request。Request就叫请求头,或者叫请求消息头。那么请求消息统里面包含的信息比较多。这些信息都是我们浏览器,也就是客户端需要告诉我们服务器端的。比如说我给你发的时候,表明我当前浏览器支持啥。我当前浏览器支持text的杠,HTML表示什么?我告诉服务器,哎,我这浏览器啊,我能接受文本格式的HTML代码,你给我发HTML代码,我是能识别的。就这意思。啊,再来accept encoding accept language告诉服务器,诶,我当前的浏览器我能够支持的是。中文,诶这个叫CN是吧,叫中文啊,就这意思,好,我是否支持缓存等等等等一大堆的信息,行吧,同学们,这是客户端告诉浏览器的,这个在请求图里面啊,告诉服务器。
07:11
我们再回到这边。所以呢,我们请求头,请求头,请求消息头稍等一下啊,这叫请求消息头,它的作用就是通过具体的什么参数对本次请求进行详细的说明。啊,里面有很多建筑队,其中host指明的是服务器的主机地址,Except声明当前我这个请求啊,我能接收的一些叫媒体类型,不着急,咱们一会再看一下媒体类型,我们刚才就看了一个叫text-HTML是吧,同学们,这是其中一种媒媒体类型。啊,什么叫媒体类型?一会儿再说,再来rap rap是什么?当前请求来源页面的地址叫rap。好,Content表示我请求体内容的长度。Contact type,我给你发的内容到底是啥?就这意思。好,Cookie咱们先不讲啊,好,这是请求的消息图。
08:06
好,我们写在这儿,这第一个。啊。呃,请求行,第二个请求的消息头。请求消息图。请求消息图。包含了很多信息,很多客户端需要告诉浏览器的啊,告诉服务器啊说错了。告诉我服务器的信息。比如。啊,比如我的我的我的版本啊,我的浏览器,我的我的浏览器型号啊。型号。版本,然后呢,我能。接收的内容的类型啊,我给你发的内容的类型啊,内容的长度等等,行吧,同学们不写了啊,有好多信息了。
09:02
这是什么浏览器的型号呀,什么版本啊,其实也有的啊,有的我们找一下看看啊。呃,往下走啊,我看一下啊,这边有个叫use agent能看到不。的agent叫A5.0版本。然后。Chrome什么八七点零点什么,这是他的白马号呗。那就说明我这个浏览器的这个版本号是这个信息是吧,同学们。那一般情况,咱们做服务阶段的一般情况,咱们关注不到。啊,两种人员一般会关注这个信息,叫user agent,一方面是咱们做前端的前端工程师,他要去做一些浏览器的一些。做界面的一些适配,他是要需要用到的啊,第二种人员做爬虫的那些工程师做数据分析的。他要去,他要去通过程序去伪装成浏览器发的请求。那么他要把他的请求伪装成这个浏览器信息,然后发给服务器,服务器一看,哦,这确实是个浏览器,给我发请求,那我就给你响应,所以他就通过这个爬虫程序去网上去发各种请求,然后收集人家服务器给你发的响应是吧?同学们啊,当然这是另外一个技术领域了。
10:10
啊,咱们就不考虑了啊,所以说咱们伏击呢,要去做叫反爬虫。啊,要去做反扒虫,所以我们会出现各种反扒的这种技术。然后呢,咱们这个爬虫程序你不是反扒吗?我要做反反爬是吧,我要再去再去伪装,伪装的更深啊,让你查不到是吧,那所以说这个是叫叫道高一尺魔高一丈是吧,这是另外一个话题啊,大家以后如果有机会的话,也会也会碰到这个行业啊,碰到这个领域那行吧,咱们就不再扩展了啊,这叫请求消息头。再往下是请求的主体。请求的主体部分,咱们有两种形式,一种叫form data,准确的讲其实有三个形式,第一个形式就啥也没有。比如说咱们现在的情况。现在我发的是一个get请求。盖的请求,你在这里面找同学们,你是找不到那个,找不到那个什么form data你是找不到的。
11:05
啊,你是找不到的。因为我们现在是发的是get请求。Get的请求很多,所带的参数值呢,参数的信息呢,其实它是放在浏览器后面追加的。比如说在这。问号下写一个啊,UN name等于Jim and age等于20AND address等于USA,请问我是不是搞了三个建制队啊?发给辅警撬回车。啊,又发了一次请求,发了请求之后,你看一下这request在黑里面。你看一下在这里面你看不到啥信息啊,但是我们在请求行里面general,你看这request u2是不是有啊。你看这问号后面是不是有啊。只不过现在我们服务阶段。对这后面这玩意儿我们没有去处理吗。如果我们通过request.getter是不能获取到。是吧,同学们,只是现在我没做嘛,但是不代表你你没有处理你,你不接收,不代表你不允许我发呀,我还是可以给你发的,是吧,就这样的。
12:06
啊,现在你是看不到form data的,所以咱们来说一下,好回到这边来啊。我们刚刚这个说的是请求行。这是第一小点啊,我们写在这。这是第二个请求消息图。第三个。第三个叫请求,叫请求体。情就体分成三种情况。啊,三种情况。三种情况。啊,第一种情况是什么?第一种情况是get方式。盖的方式。Get方式呢?我们没有请求庭。没有请求体啊,但是啊,但是有一个什么呢?有一个叫corry。其实有个叫科瑞斯。啊,但是有个叫cor叫查询字符串。
13:02
他是紧跟着我们这个U2L后面的,叫cor瑞斯。第二种是什么呢?第二种比如说我们是push的方式。方式有请求题。啊,我们称为叫form。啊,Form就这样的,第三种是什么呢?第三种是格式。建三格式啊,它也有请求庭。有请求,它叫什么?叫负载,叫请求负载,叫request paylo。好,这个先暂时先了解一下行吗?叫request漏的。我们现在刚刚发的是不是get的请求啊,它是没有请求体的,但是它有个叫cor瑞军,我们看一眼啊。应该在下面啊,在这你看。Cor能看到吗?Name address啊,叫查询字符串。叫。好,这是我们请求相关的三个部分。行吧,同学们。三个部分,请求行,我们说过了,它包含的内容,请求消息头,刚才我们也说过了,第三个请求体是不是分了三种情况?
14:07
Get方式,Post方式,当然Jason格式咱们还没学呢,不着急,后面我们会学,前后端分离咱们再去说。我们课件里面是有的啊,课件里面是有介绍的。请求的方式稍等一下啊。请求的方式在这啊,在这边我们这边写了两个请求体,你看到没有form data,还有一个叫request pay漏的是吧,实际上还有第一种叫get请求的方式叫cor瑞是吧,同学们。啊,OK。再来。请求我们说完了,下面咱们快速的再说一下响应。响应。响应,其实我们也包含三个部分。响应也包含三部分。第一部分。啊,我们看一下回到这边来。响,稍等一下啊,我来找一下。
15:01
请求,下面是响应。在这儿响应报文。响应我们也分为三个部分,响应行,响应头,响应体,看到了不就这样的,那行咱们写一下啊,第一个叫响应行。第二部分我们叫响应头,第三部分叫响应题。行吗?同学们也包含三个部分。那么第一个。第一个响应行。响应行啊,包含三个信息,我们来看一下它包含几个信息,我们请求行包含三个信息,看一下啊,响应行包含三个信息,第一个响应的协议对不对,HTTP1.1没问题吧,诶后面两个大家不太看得懂,就200盒,OK。详一行我们写一下啊,详一行包含三个信息。第一个协议。
16:00
第二个状态码,响应状态码。第三个响应状态。啊,第三个叫响应状态。行吧,200大家不认识,404你总得认识吧。是不是啊,咱们同学碰到过404,响应给我们的也有可能是404,找不到资源也有可能是405。清洁和和你相应的这个方法不对是吧,不支持。呃,叫请求方式不支持405,哎还有一个呢,是500,想给你的状态码是500。哎,服务器端有问题是吧,500服务器内部发生错误了,叫特罗艾。那么老师我从来没看过200。哎,200你当然没看到了,200是人家正常的时候响应给你的,那正常情况响应给你就正常的页面呗。那就不会出现那个代号了,是吧,同学们那个这个这个叫200那行吧,咱们写在这儿啊,状态码我们已经学了几个了,第一个叫200啊叫正常正常响应。第二个是404。
17:02
404指的是找不到资源。行405啊,我们这个找的是叫不支持是吧,请求方式不支持是吧,同学们叫不支持,还有405不着急。我们发生一个看一个,发生一个看一个行不行,同学们不要去死记硬背啊,看多了自然而然你就知道了,咱们其实还有400啊,还有403等等等等,会有好多呢啊,不着急啊,慢慢看。好,这是我们叫状态嘛,还有一个叫响应的状态,我们也OK。OK,就表示正常状态吗?我为什么要给大家说这几个,因为后面我们要学。呃,这我们要根据他的这个状态嘛,要去做一些响应一些回调。啊,所以大家要要留个印象的啊,200OK,要留个印象啊,好,这是我们的响应行。再来第二部分,咱们也响应图。这个其实就比较简单了,叫response。响应响应图啊,这个叫response,黑的这个字看多了,我感觉这个字有点别扭是吧。
18:08
再来我们看一下响应消息图。你看,So,阿帕奇啥啥啥,Contain Type Contains,这是啥?这是不是我们服务器告诉浏览器,我给你的这个服务器的一些信息啊,第一我告诉你我是谁响应你的,我的服务器白马号是多少,第二个我给你发的内容呢,叫媒体类型,我给你发的也是文本格式的HTML,而且我给你发的是UTF杠八的编码。那么我告诉你的编码之后,请你一会儿浏览器你再展示啊,你再解释我给你发的内容的时候,请你以这个编码给我展示,要不然可能会出乱码。我给你发的内容的长度是多少多少是吧,同学们。哎,这个叫响应消息头回到这儿来看一眼。响应。Response body。
19:00
Response,咱们这边还没有,因为很特殊啊,同学们,Response啥都没有,确实啊。我们现在是不是是。啊,这个四等面说啥玩意都没写啊。是吧,同学们啊,就是这样的,所以如果我们访问那个叫访问一个叫adb.html其实就有了。我们如果访问ad.htl你这个response里面就有一大堆HTML head body form。是不是啊,那就有了,所以说我这边没有,大家不要觉得奇怪行不行,同学们啊,这是我说的第二个部分,叫响应题。好。响应主体响应体都可以啊,响应头这里面是包含了服务器的信息。啊,服务器发送给浏览器的信息啊,比如说。内容的媒体类型。编码。然后以及长度内容的长度。
20:02
长度等是吧,同学们这是在响应图里面要告诉他的。再来响应题,里面就是响应的实际实际内容。内容,比如请求DDADD.html。页面时。相应的内容。啊,相应的内容就是HTML。黑的。啊。啊。等等等,行不写了行吗,同学们。哎,能听懂吗?好,就是这样的,这是我们的响应题。好,我们把这个HTTP协议它的请求响应的两大部分。每一个部分里面又包含三小部分,咱们做了一个详细的解释。大家不用去死记硬背理解就行,因为后面呢,咱们会通过写代码编写代码,我会边给大家去反复的看这些内容。
21:00
因为看这些内容对于咱们调试代码是非常有帮助的。所以我会刻意的把这个方式啊,看这个,看这个HTP这个请求图详细图啊,啊,看这个请求响应的里面内容啊,慢慢的让大家变成一种习惯。啊,这样你的调试的这个水平才能提高。
我来说两句