SVG在非绝对URL上创建HTTP而不是HTTPS

4

我正在使用HTTPS协议的页面上使用SVG,但是SVG创建了一个HTTP链接而不是HTTPS链接到一张图片,导致浏览器将该页面视为不安全。以下是使用SVG的代码片段:

<svg id="head-image-1000" width="1000" height="130" xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink">
    <g> 
        <a xlink:href="/">
            <image xlink:href="/layout/panorama-winter-1400.jpg" height="97" width="1000" y="0" x="0"/>
        </a>
    </g>
</svg>

是否只有使用绝对URL的可能性?


UA 应该使用与父文档相同的协议。 - Robert Longson
2
猜测一下:如果您使用HTTP命名空间URI(http://www.w3.org/2000/svghttp://www.w3.org/1999/xlink),是否会发生同样的情况?我认为在这里使用HTTPS是不正确的。 - unor
unor 是正确的。在命名空间值中使用 https 是不正确的。这些值是定义的命名空间常量,它们不是真正的 URL。 - Paul LeBeau
谢谢。我把所有的 http://www.w3.org 都设置回了 http。 - Tibor Nagy
我的网站在插件的CSS文件中有这些链接。当我扫描链接时,它会显示“不安全页面”。我本来想更改它们,但看到这篇文章后我没有这样做。我想知道这是否会影响SSL或您的SEO安全性,Google如何查看此链接?所有链接都是HTTP到此站点www.w3.org/1999/xlink。 - Mikeys4u
1个回答

2
问题是由浏览器(Firefox)中的一些缓存引起的。清除缓存并重新启动浏览器后,图像将通过HTTPS下载。

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