Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 在电子邮件中使用协议相关URL安全吗?_Http_Email_Gmail_Html Email_Newsletter - Fatal编程技术网

Http 在电子邮件中使用协议相关URL安全吗?

Http 在电子邮件中使用协议相关URL安全吗?,http,email,gmail,html-email,newsletter,Http,Email,Gmail,Html Email,Newsletter,关于在HTML中使用协议相关URL,已有[1]讨论,但是电子邮件呢 在HTML电子邮件中使用电子邮件客户端或服务提供商(如Gmail strip)或修改协议相关URL时,他们会使用它们吗 [1] 不,在电子邮件中使用协议相关URL是不安全的。因为它改变了协议,所以浏览器可以从站点告诉它使用的任何协议中获取资源 但是一些电子邮件客户端(尤其是Outlook,一如既往)不会尝试使用HTTP或HTTPS作为协议。相反,他们将使用file://协议,并假定您引用的资源位于本地计算机上。但不会的。所以不要

关于在HTML中使用协议相关URL,已有[1]讨论,但是电子邮件呢

在HTML电子邮件中使用电子邮件客户端或服务提供商(如Gmail strip)或修改协议相关URL时,他们会使用它们吗


[1]

不,在电子邮件中使用协议相关URL是不安全的。因为它改变了协议,所以浏览器可以从站点告诉它使用的任何协议中获取资源

但是一些电子邮件客户端(尤其是Outlook,一如既往)不会尝试使用HTTP或HTTPS作为协议。相反,他们将使用file://协议,并假定您引用的资源位于本地计算机上。但不会的。所以不要在电子邮件中使用这些。 您必须确保您请求的服务器能够通过HTTP和HTTPS提供内容。否则,您可能会从不安全或不存在的服务器端口获取内容

IE6不知道如何处理这个问题。如果您关心支持Internet Explorer 6,则不应使用这些

IE7-8支持协议相关URL,但最终会获取两次资源。一次来自HTTP,一次通过HTTPS。这会让事情慢一点,但从我的角度来看,除了使用IE7-8的人之外,这对任何人来说都不是什么大问题。如果你使用IE,你会有更重要的事情要担心


它依赖于浏览器,因此它取决于您使用的浏览器在crome中工作正常,但在IE6中工作正常。

我通过GMAIL发送了一封电子邮件,其中包含以下内容:

<a href="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">link</a>

并且它未经修改就收到了。当我右键点击链接复制链接地址时,Chrome在它前面加了
https:
(因为Gmail使用安全HTTP),但当我检查元素的HTML时,它显示了我写的
标记

电子邮件服务器更改电子邮件内容是不正常的

省略该协议旨在让web浏览器在相同内容的安全版本和不安全版本之间进行选择。如果您通过https加载页面,并且页面包含一个以http开头的src图像,浏览器会警告用户加载不安全的内容是危险的——这是一条令人困惑和担忧的消息。如果您通过http加载一个页面,并且该页面包含一个以https开头的src的图像,则会导致缓存效率低下

折衷的办法是允许浏览器加载内容,其安全性与加载内容的页面相匹配——这对于不安全的页面来说是有效的;完全保证安全页面的安全性

但是电子邮件客户端总是对嵌入的内容(图像、脚本等)发出警告,这意味着省略协议没有任何好处

此外,非浏览器电子邮件客户端一开始就没有协议。它下载信息,然后从磁盘加载。如果您真的想让电子邮件客户端选择以其加载电子邮件时使用的安全级别加载嵌入式内容,您应该让客户端在同一台计算机上查找信息。(他们会假设
/
的意思是
文件://
,这样做)

那么在电子邮件中放置
/
URI安全吗?我会说这毫无意义;因此,对于非浏览器客户端来说,还没有一种标准的方式来处理它,这意味着您正在查看未定义的行为


最好根据URI识别的信息的敏感性来选择协议。这是一张专有财务数据图表吗?使用https。它是一只棒棒糖猫吗?使用http。

我在html电子邮件中遇到Gmail和图像问题。src指向相对协议(如“//example.blob.core.windows.net/example.gif”)的图像已更改为不带src属性的图像。在将src改为绝对协议(通过添加https:-like)后,图像显示在Gmail中。弗兰克的解释直到今天都是正确的。我不确定谷歌的图像代理更新的确切时间,但这和@saurabh Chandra Patel的答案是正确的。但愿我早点找到这个。在我们的例子中,源标签在Gmail、Yahoo mail和其他邮件中被剥离;我们使用回形针gem,我们的设置使用协议相关资产来支持IE8(现在微软不支持),我们的电子邮件在途中被剥离到某个地方,带有空的src属性。希望这个问题在谷歌搜索结果中出现得更高。根据@dave ward IE6的回答,IE6确实知道如何处理与协议相关的URL:当你将其他URL复制并粘贴到你的答案中时,你可以参考它们