51黑料不打烊

自适应图像 Servlet adaptive-image-servlet

了解核心组件如何使用自适应图像 Servlet 来投放图像,以及如何优化其使用。

WARNING
出于性能原因,强烈建议将图像存储在 DAM 中,并使用 Web 优化图像投放。
将图像直接存储在组件节点下是为了偶尔使用。它既不使用 DAM 演绎版来减少自适应图像 Servlet 中的处理,也不发挥 Web 优化图像投放的性能优势,因此可能导致性能问题。

自适应图像 Servlet 还是 Web 优化图像投放? options

图像核心组件可使用两种方法投放图像。

本文档介绍了默认的自适应图像 Servlet。

概述 overview

默认情况下,图像组件使用核心组件的自适应图像 Servlet 来传送图像。 负责图像处理和流式传输,可由开发人员在其核心组件的自定义设置中使用。

演绎版选择 rendition-selection

自适应图像 Servlet 将根据显示该图像的容器的大小,自动选择要显示的最合适的演绎版。演绎版选择过程如下:

  1. 自适应图像 Servlet 审阅图像资产的所有可用演绎版。
  2. 它仅选择与原始引用资产具有相同 mime/类型的资产。
    • 例如,如果原始资产是 PNG,则只考虑 PNG 格式演绎版。
  3. 在这些演绎版中,会考虑尺寸,并将其与应显示图像的容器大小进行比较。
  4. 如果演绎版 >= 容器大小,则将其添加到候选演绎版列表中。
  5. 如果演绎版 < 容器大小,则忽略该演绎版。
  6. 这些标准确保演绎版不会被放大,这将影响图像质量。
  7. 然后,自适应图像 Servlet 从候选列表中选择尺寸最小的演绎版。

优化演绎版选择 optimizing-rendition-selection

自适应图像 Servlet 将尝试针对请求的图像大小和类型选择最佳演绎版。建议同步定义 DAM 演绎版和图像组件所允许的宽度,以便自适应图像 Servlet 执行尽可能少的处理。

这将提高性能并避免底层图像处理库无法正确处理某些图像。

使用上次修改的标题 last-modified

自适应图像 Servlet 支持通过 Last-Modified 标头进行有条件请求,但是 Last-Modified 标头的缓存需要在 Dispatcher 中启用

AEM 项目原型的示例 Dispatcher 配置已经包含此配置。

recommendation-more-help
d2be9096-a81e-404b-9952-d8925af7219c