SSL和W3 XHTML验证程序

SSL和W3 XHTML验证程序,ssl,https,Ssl,Https,这可能是一个愚蠢的新手问题,所以对此表示赞同 我的网站正在使用SSL证书。我还将W3验证程序链接包括在我的每个网页中,如下所示: <a href="http://validator.w3.org/check?uri=referer"><img src="valid-xhtml1.png" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a> (注意:通过w3验证程序映像进行复制,以便SSL不

这可能是一个愚蠢的新手问题,所以对此表示赞同

我的网站正在使用SSL证书。我还将W3验证程序链接包括在我的每个网页中,如下所示:

<a href="http://validator.w3.org/check?uri=referer"><img src="valid-xhtml1.png" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a>

(注意:通过w3验证程序映像进行复制,以便SSL不会抱怨不安全的资源)

当我执行此操作并单击图像以验证页面时,我从验证程序收到以下消息:

该错误提到不安全地请求验证程序。因此,我尝试将
标记的href更改为对验证器使用https,但是页面根本没有加载(我猜是因为验证器没有使用SSL)

有人知道怎么解决这个问题吗?我猜没有办法按原样使用代码,但也许有办法将
uri=referer
更新为
uri=https://mysite.com/...
?有没有办法动态获取当前页面的URL

另外,仅供进一步参考,SSL是否只是阻止访问referer请求头

哦,我知道我可以使用http而不是https访问我的网站,并且验证程序可以工作。但我更愿意将其配置为使用https。

至于“验证图标”问题:
这通常会导致显示关于“不安全项”(=混合http+https内容)的消息。。。验证图标在此类星座中不受正式支持。。。描述了部分解决方法


如果您想动态获取uri,我怀疑您必须使用JavaScript,然后创建/添加
说明只有在目标是安全的情况下客户端(=浏览器)才应该发送referer-因此是的,在混合情况下,referer不会被发送到不安全的URL。

好,因此,似乎没有一种方法可以只用HTML来实现这一点。因此,我决定使用JavaScript来处理这个问题

我删除了W3徽标周围的
标记,并添加了
onclick
JavaScript函数
validatePage()
。因此,这里基本上是一个XHTML严格页面的模板,它仍然允许您包含验证图标

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <title>Title of document</title>
        <script type="text/javascript">
            function validatePage() {
                var validatorUrl = "http://validator.w3.org/check?uri=http" + (document.URL).substring(5);
                window.open(validatorUrl);
            }
        </script>
    </head>
    <body>
        <h1>Test Template Page</h1>
        <p><img src="valid-xhtml1.png" alt="Valid XHTML 1.0 Strict" height="31" width="88" onclick="validatePage()" /></p>
    </body>
</html>

文件标题
函数validatePage(){
var validatorUrl=”http://validator.w3.org/check?uri=http“+(document.URL).substring(5);
window.open(validatorUrl);
}
测试模板页面

请注意
validatorUrl
变量如何从URL中删除“https”而改为使用“http”。所以我只是避开了使用HTTP referer头


希望这对其他人有所帮助。

这也会在新窗口/选项卡中打开验证结果,而不是使用当前页面,这很有用。再次感谢。我最终使用JavaScript让图标正常工作(参见答案)。