00:00
Hello,同学们,接下来呢,我们继续来学习这个,呃,Pro catch相关的一些配置,那首先啊,先给大家来讲一个这么一个配置叫pro catch max range of。呃,这个配置呢,指的是我们在呃缓存,缓存这个上游服务器的内容的时候,当它的润值达到多大的时候,然后我们就不去做缓存了,那要讲这个配置之前,我们得先了解一下这个HDD请求的润,它究竟是啥。这个HTP请求的啊,它其实是指的是我们在访问服务器上的文件的时候,我们不一定从第零个字节开始去读,那我们现在呃做的所有的实验都是从第零个字节开始去读的,对吧?那么这个如果要是服务器端支持润的话啊,也就是我可以去按照某个范围去加载和读取这个文件,那最常见的这个时这个呃。实际使用的这个场景,比如说我们现在看的这个优酷YouTube上面这个这个呃,视频那个视频啊,大多数都是基于HTP协议给我们加载出来的。
01:08
那么在加载的过程当中,我们如果要是想要拖动一下滚动条啊,那么这会儿它是不是应该给我加载到具体的位置,那么第一种情况,我是把整个文件全部都下载下来了,那么这个拖动滚动调动作呢,是基于我本机的文件操作啊,我把这个本机的某一个,呃,这个把本机的这个缓存文件就是已经全部下载到我本机了,然后在这里边呢,去设置off,然后再去加载去播放。这是第一种方式,第二种方式呢,是直接呃,一边一边播放着,一边做着缓冲,那么我们就可以。点击一下滚动条啊,让它在某个位置开始去播放,那这会儿就可以向服务器端发送一个润置请求啊。然后根据这个润的开始的字节的这个,呃,这个位置到这个结束的这个位置开始再去加载,这样就可以拖动滚动条了,然后再有就是我们在用一些多线程下载工具的时候,比如说我服务器上有一个特别大的文件,比如说有两个G,那你如果多线程下载啊,那么就需要用到这个润置啊,就是第一个线程呢,从第零个块到第300兆,然后第二个线程从第300兆到第。
02:18
呃500兆,然后以此类推,我开多个线程,多线程同时就向服务器端去拉取数据,这样能把我的呃客户端的这个带宽跑满,对吧?那这种方式呢,它也需要润,那想要开启这个润的话,呃,那只需要在我们呃请求之后啊响应的时候加上呃一个这个响应头accept的range,那在使用客户端使用的时候,你需要增加这么一个润的呃请求头表示我要从哪开始请求。那么在这个我们现在这个pro catch里边呢,目前来说,呃,是。不支持的,为什么呢?因为我的上上游服务器是tomcat,那个tomcat默认没有开启这个润,在这个NGS这个服务器里边,默认它是开启了这个论治的,我们给大家做个例子,我们看一下。
03:08
嗯,那这是我们之前的配置文件,我们先把这些,呃,Process pass相关的,和cash相关的先给它出掉啊,让它作为一个静态服务器,我们看一下。Location直接到root,然后重启一下。嗯,重启完之后呢,我们去访问一下19244101,诶,但我们返回的是hello word,那么呃,这个返回的这个数据啊,它是全量的数据,对不对,然后在这个response header里边也没有什么特别的信息,那我们把它呢,扔到咱们这个postman里,我们去模拟模拟一个请求。然后在请求他的时候呢,我们在这加一个header,就R。然后在这儿呢。Bits等于从零到五,表示从第零个字节到第五个字节来发送请求。
04:05
呃,然后看这content range在这个响应的头里边,Response header里边就多了,对吧,代S是一,这代S是零,从零到五。啊,然后这个。大家看。从第零个字节到第五个字节,它就给我们减出这么多,然后我们再试从第五个字节。到第15个字节走,大家看。啊,这就是他的这个截取了另外的一段内容出来了给我们,然后看这个header。来表示这是从第五个字节到第15个字节的内容啊。呃,那有同学可能会想,哎,这不对啊,我这显示的全是hello word,那我这包里怎么出来include了对吧?那你看一下它其实应该里边有一些额外的源码对吧?这里边有一个被注掉的是吧?Inlo,然后下边link的这些呢,都作为它的源码去加载进来的啊这就是润,呃,把这个开启之后呢,它的前提条件是在响应请求的时候,你看这个。
05:10
全量的响应的请求的时候。你能看到这个content lens啊,在那儿呢?在这儿content les1481,一共这么多个字节,那么可以取第五道题15个,然后它在后边也会给我标注,最后你一共有多少个需要去完全的这个取出来的啊,这就是基于润质,我们可以去做盾点去传啊等等这些,那么如何关掉这个,呃,这个这个润呢,响应类型啊,给它给换一下,我们现在看到这个mimme type,也就是这content type,现在是text HTML,这表明呢,我就给你发送一个已知的静态的资源文件,那么在这儿呢,我们可以把它换成流的形式啊,Stream的形式再给它发送,那么他就不知道大小了。啊,因为我发送的时候也不确定给你发送多少,有可能在中间呢,会加点东西,有可能呢,呃,传着传着就停了,这也就是有时候我们在下载一些文件的时候呢,浏览器下载东西的时候,呃,我们是不是有下载速度,另外还有一个百分比,有没有看见过那种下载东西,然后看不见百分比,然后大文件大小未知的这种情况,如果你看到这种情况,那就是以stream的形式我们去下载东西,那什么时候下载完,那就取决于他什么时候不给我传了。
06:26
就是把这看的type改一下,它就不支持这个呃认制的形式去呃下载了,然后N作为静态资源服务器的应用场景比较多,比如说做这个RTP的这个呃这个资源文件,也就是这个这个音视频点播,H基于HTTP协议的音视频点播也可以用这NG也有很多站点呢,用的就是NG词啊,做HTTP的这种点播也不一定完全用这个RTMMP协议。因为那个呃更多的是要支持这个实时,现在其实这个呢,也是可以支持实时的,那如果要是我一个静态的视频文件就放在这台服务器上,那么这叫点播对吧?那如果要是实时的直播呢,那个文件会在呃直播的过程当中不断去往里去追加写入,那么在看type这呢,来给它搞成这种。
07:11
Stream的形式,那么这会儿这个客户端的加载的时候,也不知道他啥时候能读完,那么这个播放器呢,就会一直在这播放了啊也好多的这个,呃,公司的产品,这种直播的产品也是用的这这种这个HTTP协议的。那么这就是他的这个润啊,那润的这个反反馈回来的这个响应的这个状态码,它是206,也就是你如果你以后看到这个206的这个,呃,状态码你不要慌啊这个。这个就是这个就什么part啊part content,这表示有一部分的内容给我反馈回来了啊,这就是基于呃range啊,一部分的文件内容,我们去做这个。这这个访问啊。
我来说两句