在Web应用程序中使用HTTP Authorization标头时,客户端必须通过XHR请求任何受保护的图像资源,因为该元素加载其src URL,而应用程序无法拦截请求并添加auth标头。这显然是为基于cookie(表单)的身份验证环境而设计的。为了解决这个限制,可以使用HTML5 URL.createObjectURL()将图像作为blob XHR并以编程方式分配给img src。
这很好,但我想了解缓存在这种情况下的工作原理。 MDN说:
每次调用createObjectURL()时,即使您已经为同一个对象创建了一个对象URL,也会创建一个新的对象URL。必须通过调用URL.revokeObjectURL()...
来释放其中的每一个
默认情况下,浏览器肯定会缓存图像,但这对同一图像的多个objectURL意味着什么?相同底层图像资源的每个新URL实例是否意味着重复内存,或者是否也会缓存?