00:00
Hello,大家好,那么这个首先我们来介绍一下HTTP协议。HTTP呢,全称叫做hyper的transport pro pro啊叫做超文本传输协议。这个协议呢,详细规定了浏览器和万维网服务器之间互相通信的一个规则。那么HTTP协议啊,在咱们日常使用当中呢,经常会见到,只是我们自个儿呢,没有注意到,我们平时浏览网页,绝大多数的网页啊,他们的数据交换用的都是HTTPC。传输都是用的HTTP,无论是百度或者京东淘宝,然后呢,整个啊,这些网页都用到了HTTP协议。那么,协议到底是个什么东西呢?协议其实就是一种约定。啊,一种规则,就大家都按照这个规则去办事就可以了,啊,我给你呢按照这个规则去发请求,你呢给我按这个规则返回结果。
01:08
我举个例子啊,你比如说我跟张三两个人聊天是吧,我跟张三两个人。那我说中文,他跟我说日文。这个天能聊吗?肯定不能聊,对不对?我说三儿你吃啥饭,中午。啊,他跟我说米西米西这个什么什么什么思密达。那这么这么说能行吗?那肯定不行啊,这个肯定是听不懂,两个人是没法交流的。但是我如果说我们两个人都遵循约,都遵循约定啊,都说这个什么呀,普通话。哎,都说普通话,那么这个时候我们两个人就能够正常通行了。而在咱们这块。HTTP协议这块其实就是一种约定。那么HTTP协议这块它主要是规范了啊,主要是约定了两块的内容,第一块内容是请求,第二块内容呢是响应。
02:01
浏览器呢,给服务器发的这个内容,咱把它称之为是请求,而服务器呢,给客户端给浏览器返回这个结果,咱把它称之为响应。而发送内容,咱们还有个专业名词,叫请求报文。而返回来结果呢,叫做响应报文。就跟这个。这个电报一样子,哒哒哒哒哒哒哒,哎,有那么一个感觉啊,好了,那么下边的话,我们来介绍一下请求报文和响应报文它们的一个格式,注意啊,我们这块重点讲格式与参数。重点。是格式与参数。我们并不会说把里边每一个内容都介绍全,介绍细,因为那个的话,我们的重点就发生了偏离啊。好了,我们来看一下啊,那么请求报文这块呢,它包括四部分。啊,第一部分呢,是这个请求行。第二部分呢是请求投,第三部分呢是一个空行,第四部分呢是一个请求体。
03:07
也就是说平时咱们打开百度是吧,诶敲一回车,我们给百度服务器发的内容包括几部分呢?包括四部分。啊,包括四部分,那么这四部分分别是行头空行合体。然后呢,咱们来看一看行,它是怎样的一个结构。行呢,它包括三部分。第一部分呢是请求类型。启用类型这块的话,有get,有post,有delete,有这个put,有等等等等方法。不过呢,在咱们日常使用当中呢,Get和post咱们见的居多。这是请求的一个类型。第二个呢,是一个URL的路径。啊,URL啊。这块呢,你可以写一些路径,也可以写一个,写一个对应的查询字符串都可以。好了,你再比如说我们平时搜一个东西,比如说鼓励学院。
04:02
才会这。说完之后,你可以看到它后边有很多很多参数。对不对,哎,很多很多参数啊,那么其实这些参数。啊,他们是放在哪呢?是放在URL这个部分的。换而言之,当你在这敲下回车发请求,也是浏览器帮我们把这个豹纹拼接好。他呢,把这段内容。就是把。这段啊到最后啊,整个内容呢,放到了URL的那个部分放到这儿。做一个传递。这是行的第二段内容。下边呢是行的第三段内容。就是HTTP协议的一个版本。啊,这是咱们请求行啊,版本是1.1啊,当然版本的话有1.0,还有呢2.0。啊,不过咱们目前所使用的最多的版本是1.1。好,这是请求行,下边的是谁呢?请求头。
05:02
请求头呢,内容还比较多,哎,咱们写几个host等于一个at硅谷点com。再比如说cookie,哎,然后name等于一个硅谷。再比如说还有什么呢,诶,Content type。啊,这个肯定他的话,咱们写一个。OK,咱们把这个get呢,换成一个post。这是一个什么呀,这是一个类型。就告知服务器呢,我的请求体是什么类型的。是这样的一个作用。除此之外的话,还有一些别的啊,比如说user agent。啊,等于一个Chrome,然后呢83。举个例子啊,在这我跟大家说一下啊,不需要把每一个都记住,但是请求头部分的一个格式必须要掌握住。你会发现请求头这一块的格式啊,很有规律。都是名字冒号,空格加值。
06:01
名字冒号空格加值,名字冒号空格加值。是这样的一个格式特点。啊是咱们的请求头下是空行是固定的啊,必须得有请求体这一块的话,也也是可以有内容啊,也可以没有内容。如果是get请求,Get请求的话,请求体呢,它是空的。而如果是pose的话呢,请求体可以不为空。注意这句话啊,如果你是一个get请求这块呢,它是空的,如果说你这块是一个pose的请求,那么请求体可以不为空。那么在这咱们可以写一个比方说,我写一个user nameme,然后等于一个admit and password等于一个admit。举个例子。那么这块内容就是一个完整的HTTP协议的报文。啊,完整的HTTP请求报文,也就是说我们平时浏览浏览网页,向服务端发请求发的都是。
07:03
类似于这样结构的内容。可能里边的参数呢不太一样,就对应的值不太一样,但是呢,结构都是一样的。行头空航体。OK,那下边的话咱们再来看一下谁呢,响应豹纹。啊,大家先别急,咱们后边的话,下一个小节还会再来,再给他去控制台详细去演示,你现在先把结构先掌握住。那么响应报文呢,也是包括四部分。分别是行。头。空行和这个体。那么响应行这块呢,它包括三部分,第一个是协议版本。哎,HTTP协议一个版本,第二个呢是响应状态码,第三个呢是响应状态字符串。那么200在这儿呢,表示是OK啊,咱们还平时可以听到一些啊,其他的一些状态码,你比如说404是吧,找不到,然后呢,403FORBID没有权啊,Forbiden是被禁止的意思啊好,上面还有401。
08:05
是吧,未授权。还有500内部错误。啊,还有一些其他的。啊,那还有一个就是咱们最常见的一个就是200OK。OK,这是当前的一个响应状态码,而状态字符串这一块呢,跟状态码是对应的,不需要咱们单独去设置。这是响应行的三段内容。响应头这块。格式跟请求头一样啊,我们写一下,比如说contained type。Content type。啊,有什么T的HTML,然后。Set等于一个UTF杠八,这个可能见过啊,然后呢,还有什么content lengths等于一个2048。是吧,再来,然后,然后encoding。然后等于一个g zip。好了,我就写这么三个,这块呢,它是对响应题内容做一个相关的一些描述,比如说类型是什么,长度多少,然后呢,这个压缩方式是那种。
09:07
当然了,还可能还还是允许可以出现其他闪电头的。OK,那么下边的话,咱们来看一下啊,接着去做啊,还有一个空行。这个空格是必须得有。啊,必须得有啊,然后响应体这块是咱们的一个主要的返回的结果。啊,别说看好了,这我可以写一个HTML。HTM,然后呢这呢我写一个head标签。Had,然后呢,这块呢,咱们写一个body。啊,然后里边咱们写一个H1标签。一啊,这块来一个一。好,然后里边咱们写一个上。硅谷。当你看到这块内容的时候,你一定会感觉很。很面熟啊,我这个我知道这是HTML,没错,这就是HTML语法的内容。
10:01
而他呢,现在是被放在了响应体的这个位置。啊,放在响应体这个位置,那么其实我们平时在向服务端发送请求的时候。然后呢,服务端给我们浏览器返回的这个结果。包括了这么四部分,而我们想的那个HTML内容在哪呢?在响应题这块。啊,在响应题这一块这样的话呢,其实看到这之后,相信大家应该会有一个啊,更加深入的一个理解啊,现在的话,HTML内容是放在了响应的报文当中。来做了一个传输,然后浏览器在接到结果之后会把响应体结果提取出来,然后对内容做一个解析,在页面做一个渲染和显示呈现。好了,那么这个小节咱们关于请求报文和响应报文的一个结构的介绍啊。我们就先说这么多啊,保存一下。
我来说两句