什么是热链接图像的合法替代方案?

Posted

技术标签:

【中文标题】什么是热链接图像的合法替代方案?【英文标题】:What is a legitimate alternative to hot linking images? 【发布时间】:2016-12-21 20:24:10 【问题描述】:

我正在教一群​​学生有关 Web 开发的知识,我们目前正在学习 AngularJS。我为他们创建的一个练习要求他们从免费和开放的pokeapi.co 获取资源。他们可以从 API 返回的数据之一是精灵本身的精灵(小图像)的 URL。

过去,我们只是将链接到该图像的 URL 直接热链接到 <img> 标记中。在刚刚尝试调试 403 Forbidden 错误时,我了解到热链接是一种不好的做法。这对我来说完全有道理,但我现在有 2 个问题:

    如果 API 提供此图像的 URL,除了在我的 html 中热链接之外,我应该如何处理此 URL?我是否还希望编写一个可以下载该图像的服务器,创建指向图像路径的链接并改用该 URL?是否有另一种更被接受的方法来避免热链接? pokeapi的目的不就是提供数据给人们使用吗?为什么它会限制人们使用他们提供的数据的能力?我想这个问题与我的第一个问题密切相关,因为如果有一个我从未听说过的热链接的简单替代方法,那可能会回答我的两个问题。

【问题讨论】:

【参考方案1】:

如果 API 提供此图像的 URL,除了在我的 HTML 中热链接之外,我应该如何处理此 URL?

这在the documentation中有解释:

在您请求资源和图像时在本地缓存它们。

我是否还希望编写一个可以下载该图像的服务器,创建一个指向该图像路径的链接并改用该 URL?

是的

为什么它会限制人们使用他们提供的数据的能力?

因为带宽不是免费的,而且图像会占用大量带宽。

【讨论】:

因此,在仅 AngularJS 的应用程序中,如果图像上出现 403 禁止,我如何在本地缓存图像/资源? @bobbyz — 你已经说过了:“编写一个可以下载该图像的服务器,创建一个指向图像路径的链接并改用该 URL” 所以“本地缓存”实际上是指服务器上的缓存,最终将是远程的……明白了。我想这意味着本地,因为它是我自己的应用程序而不是其他人的应用程序,所以我很困惑。谢谢!

以上是关于什么是热链接图像的合法替代方案?的主要内容,如果未能解决你的问题,请参考以下文章

多个链接数组的替代方案?

链接服务器的替代方案,速度相同

使用 DITA OT 和 FOP 生成的 PDF 中链接的替代文本

如何从链接下载图像?

图像链接 与 图像映射 的区别

将资产链接到 solana 代币