已经有讨论[1]关于在HTML中使用协议相对URL的问题,但是电子邮件呢?
当协议相对URL被用于HTML邮件时,邮箱客户端或像Gmail这样的服务提供商是否会剥离或修改它们?
已经有讨论[1]关于在HTML中使用协议相对URL的问题,但是电子邮件呢?
当协议相对URL被用于HTML邮件时,邮箱客户端或像Gmail这样的服务提供商是否会剥离或修改它们?
我通过Gmail发送了一封邮件,内容如下:
<a href="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">link</a>
并且它没有被修改。当我右键单击链接以复制链接地址时,Chrome在其前面添加了https:
(因为Gmail使用安全HTTP),但是当我检查元素的HTML时,它显示<a>
标记与我编写的一样。
电子邮件服务器更改电子邮件内容并不正常。
省略协议旨在让Web浏览器在安全和非安全版本的相同内容之间进行选择。如果您通过Https加载页面,并且其中包含以http开头的源图像,则浏览器会警告用户加载不安全的内容-混淆和令人担忧的消息。如果您通过http加载页面,并且它包含以https开头的源图像,则这将防止缓存等无效率问题。
妥协的方法是允许浏览器加载与加载它的页面相匹配的安全内容-对于不安全的页面而言高效,对于安全的页面则完全保证安全性。
但是,电子邮件客户端始终会警告嵌入的内容(图像、脚本等),这意味着省略协议没有任何好处。
此外,非浏览器电子邮件客户端根本没有协议。它下载信息,然后从磁盘加载它。如果您真的想让电子邮件客户端选择使用加载电子邮件时使用的安全级别来加载嵌入式内容,则可以让客户端在同一台计算机上查找信息。 (他们实际上会通过假设//
意味着file:///
来执行此操作。)
那么在电子邮件中放置一个//
URI是否安全?我认为这没有意义; 因此,非浏览器客户端处理它的标准方法尚未成为标准,这意味着您正在查看未定义的行为。
最好根据URI标识的信息的敏感性来选择协议。它是专有金融数据的图表吗?使用https。 它是lolcat吗?请使用http。