通过资源的播放地址下载资源的原理是什么,可以用哪些语言实现?

  • 看过一些网站,通过输入视频资源的url地址,即可下载相关的资源,这种功能的实现原理是什么?
  • 可以通过那些计算机语言去实现呢?
阅读 2.7k
3 个回答

通过资源的播放地址下载资源的原理是什么?

  下载资源、播放资源、显示网页、其原理是一样的。都是你向提供这些资源/网页的服务器发送一个请求,然后对对方的回应进行处理。对于网页的处理就是浏览器使用自己的一些模块分析网页的结构,渲染网页的外观,执行网页的逻辑等; 对于一个插入到网页中的视频来说,浏览器得到视频的内容后会解码并渲染出来; 儿你直接下载一个视频,其实就是把视频写入硬盘的动作而已。

  这个请求也是有一定的格式的。通常是 Http 协议。 儿把一个视频插入到网页里面可以使用 HTML 标记语言来做到。

可以通过哪些语言来实现?

  语言只是表达的工具。这里我们需要考虑的是哪一种语言可以表达完成上面每一项步骤。也可以分为两个部分,一方面需要有人给你提供服务,也就是服务端。另一方面需要给用户显示出来,这是客户端。

  服务端需要监听网络,分析发过来的请求,读取对应的文件返回给用户;

  客户端需要完成用户要求的任务,如下载、播放等。

  换成具体实例的话, Nginx 是一款高性能的服务器软件,完成分析外部发过来的请求,读取文件再发过去的作用。 PHP 是一种动态的脚本语言,可以动态的生成网页或者其他。 也可能需要数据库系统保存一些信息。

  客户端的话,如果是浏览器, HTML 是指挥浏览器建造网页结构的语言, CSS 是指明结构的样式语言。 JavaScript 可以执行更多的事情,控制网页的各种动作。 HTML 就可以定义一个 video 标签播放视频,也可以使用 a 标签做一个链接,用户单机这个链接可以下载这个视频。

  如果不使用浏览器这一套,只要你使用的语言可以访问网络,能解码视频,有对应的播放库也可以实现类似的播放效果。有网络库和磁盘操作的库也可以实现类似下载的效果。

  当然这些都是说说而已,实际操作有很多困难。

原理是解析:解析出接口,然后模拟访问。
语言的话php,js,java,python,go等等

HTTP响应头控制资源打开或是下载

Content-Disposition    对已知MIME类型资源的描述,浏览器可以根据这个响应头决定是对返回资源的动作,如:将其下载或是打开。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题