为什么相对图像路径解析为绝对路径?

Why are relative image paths resolving as absolute paths?

我阅读了一些资源,包括 this one 关于如何在 Web 浏览器中解析相对路径的资源。但即使在我的研究之后,我仍然感到困惑,因为我看到了一个相对图像的例子 URL,它与我到目前为止读到的所有内容相矛盾。

我有一个网页与此类似 URL:https://www.example.com/uri1/uri2/

该页面上有一个带有相对路径的图片标签:

<img src="example.png"/>

浏览器正在将图像解析为:https://www.example.com/example.png

这是图片的正确位置。我想知道为什么浏览器没有尝试从以下位置解析图像:https://www.example.com/uri1/example.png

据我了解,后者是图像应该解析到的位置。 我查看了 Chrome 和 FireFox 中的页面,结果相同。

我正在编写一个脚本来解析 CMS 内容并在下载图像之前将相对图像路径解析为完全合格的路径。

在我的例子中,这不起作用,因为在浏览器中,相对路径实际上被解析为域的基础。因此,当我的脚本尝试解析完全限定的图像路径(例如 example.com/uri1/example.png)时,它会生成不正确的 URL.

感谢@AuxTaco,我意识到页面上有一个 <base> 标签。 <base>标签用于覆盖相对路径的默认分辨率。

我必须更新我的脚本以包含 <base> 标签出现在任何给定页面上的可能性。