- 看过一些网站,通过输入视频资源的url地址,即可下载相关的资源,这种功能的实现原理是什么?
- 可以通过那些计算机语言去实现呢?
HTTP响应头控制资源打开或是下载
Content-Disposition 对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
通过资源的播放地址下载资源的原理是什么?
下载资源、播放资源、显示网页、其原理是一样的。都是你向提供这些资源/网页的服务器发送一个请求,然后对对方的回应进行处理。对于网页的处理就是浏览器使用自己的一些模块分析网页的结构,渲染网页的外观,执行网页的逻辑等; 对于一个插入到网页中的视频来说,浏览器得到视频的内容后会解码并渲染出来; 儿你直接下载一个视频,其实就是把视频写入硬盘的动作而已。
这个请求也是有一定的格式的。通常是 Http 协议。 儿把一个视频插入到网页里面可以使用 HTML 标记语言来做到。
可以通过哪些语言来实现?
语言只是表达的工具。这里我们需要考虑的是哪一种语言可以表达完成上面每一项步骤。也可以分为两个部分,一方面需要有人给你提供服务,也就是服务端。另一方面需要给用户显示出来,这是客户端。
服务端需要监听网络,分析发过来的请求,读取对应的文件返回给用户;
客户端需要完成用户要求的任务,如下载、播放等。
换成具体实例的话, Nginx 是一款高性能的服务器软件,完成分析外部发过来的请求,读取文件再发过去的作用。 PHP 是一种动态的脚本语言,可以动态的生成网页或者其他。 也可能需要数据库系统保存一些信息。
客户端的话,如果是浏览器, HTML 是指挥浏览器建造网页结构的语言, CSS 是指明结构的样式语言。 JavaScript 可以执行更多的事情,控制网页的各种动作。 HTML 就可以定义一个 video 标签播放视频,也可以使用 a 标签做一个链接,用户单机这个链接可以下载这个视频。
如果不使用浏览器这一套,只要你使用的语言可以访问网络,能解码视频,有对应的播放库也可以实现类似的播放效果。有网络库和磁盘操作的库也可以实现类似下载的效果。
当然这些都是说说而已,实际操作有很多困难。