在外部托管图片是否有害?

25

将图片通过像Imgur这样的网站进行托管,然后使用提供的代码将其插入到我的网站中,是否会有任何危害?相对于传统的方式,在我的服务器上托管图像并适当地链接它们。


3
我不明白为什么这个问题被关闭了,看起来是一个相当合理的问题。 - Mike Mooney
2
在这一点上,我同意Mike Mooney的看法。我来到这里是为了寻求一些关于如何做这件事情的见解。并不是每个使用Stack的人都接触过每一个可能的Web开发场景。 - Mike Devenney
4个回答

23
风险在于 Imgur 关闭并带走您的图像。或者他们可能会出现性能问题或停机,而您对此没有任何控制或可见性。但是理想情况下,某些图像托管平台会比您提供的任何东西更加可靠。只需确保您保存了一份副本,使其相对容易地切换回本地托管或另一个图像托管平台,以防您在使用Imgur时遇到问题。
同样,这会使您的部署变得复杂。您不仅需要上传您的网站,还需要将图像上传到其他网站,然后执行必要的配置,以确保您的生产版本指向正确的服务器(而不是指向 QA / Dev 服务器)。
此外,如果您的网站上有任何 HTTPS,请确保从页面引用的任何图像(或 JS 或 CSS 或任何其他内容)也是 HTTPS,否则您的用户将收到讨厌的“此页面包含不安全内容”错误。
最后,请确保您遵守托管公司的条款和条件,他们可能不喜欢您发送太多流量,并可能封锁您或限制您的流量。如果您不确定,请询问他们。
然而,如果您采取这种方法,它通常会具有许多性能优势。它减少了对您网站的流量,并减轻了您的 Web 服务器负载。一些浏览器可能也会同时下载更多内容,因为某些浏览器版本仅打开对单个域的特定数量的并发连接,但会打开更多连接到其他域(虽然这可能不再是这样)。当然,Imgur 服务器很可能比您的服务器更快,并且可能具有内容交付网络(CDN),该网络将您的图像的副本传输到世界各地的本地内容缓存服务器,以便人们从本地缓存服务器获取内容而不是总是返回您的服务器。

13

阅读您计划使用的网站的服务条款。以Imgur为例,他们的服务条款如下:

此外,请勿使用Imgur来托管您从其他地方链接到的图像库、网站内容、广告、头像或任何将我们变成您的内容交付网络的东西。如果您这样做 - 我们将是裁判 - 或者如果您做任何非法行为,除了我们可能拥有的任何其他法律权利之外,我们将禁止您以及您热链接的网站,删除您的所有图像,必要时向当局报告您,并防止您查看托管在Imgur.com上的任何图像。我们是认真的。

http://imgur.com/tos (20.04.2016)

我知道Flickr的服务条款也有类似的规定(必须链接到Flickr,不要滥用等)。

编辑:您正在描述CDN(http://en.wikipedia.org/wiki/Content_delivery_network),假设您使用值得信赖的提供商,则这是减少网页加载时间的完全可接受的方法。


啊!那个服务条款太糟糕了。虽然我猜如果你大多数时候使用他们提供的链接而不是直接热链接,可能还可以。 - posfan12

10

将网站托管到外部服务器的优点包括:

  1. 您不需要支付带宽费用。
  2. CDN(内容分发网络)通常会优化速度/缓存。
  3. 其他域不会收到来自当前域的任何cookie(从而减少请求大小)。
  4. 外部主机可能比您自己的服务器具有更好的基础设施(冗余、负载均衡等)。

缺点:

  1. 您不拥有托管图像的服务器,它们可能会关闭、倒闭或在不通知您的情况下删除您的文件。
  2. 如果安全性是一个问题,您对访问权限或潜在的安全漏洞的控制较少。
  3. 外部主机通常针对缓存进行优化,这意味着如果您在外部主机上替换了一张图片,任何已经访问过该站点的用户如果仍然将其缓存在本地,可能会得到先前的版本,因此请做好相应的计划(您无法让您的用户按CTRL + F5刷新页面)。

另一个缺点是像Imgur这样的网站使用随机文本字符来混淆文件名,这使得很难跟踪哪个图像放在哪里。 - posfan12

-3
为什么你会想要这样做呢?我感觉这只是笨拙的。首先,它很可能会减慢加载时间,虽然不会显著,但至少足以引起注意。此外,如果你计划将它们托管在像imageshack之类的免费网站上,那么你就必须担心带宽问题。我建议养成不这样做的习惯。

3
我不明白这里的推理。将内容放在内容传递服务上主要是为了提高加载速度。它允许浏览器同时请求更多的内容(有时浏览器不会对同一服务器进行太多的请求),利用终端用户的带宽(现在最后一英里通常有很多未使用的资源),并且将静态资源内容从主机的带宽中卸载(向内容传递主机发出请求,而不是所有者的主机)。 - David
它对于慢服务器也非常有用,因为最大的块由速度更快、更好的服务器提供,从而使加载时间更短。 - Allison

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接