本月早些时候的《黑客新闻》
我不喜欢 IMAP 的地方
协议
另一个问题与流量消耗有关。使用 IMAP,电子邮件存储在服务器上并定期与本地客户端同步。如果由于某种原因用户设备上的副本损坏,则必须再次同步所有邮件。在现代世界,当成千上万的移动设备可以连接到服务器时,这种方法会导致流量和计算资源的消耗增加。
困难不仅与协议本身有关,而且与使用该协议的电子邮件客户端有关。自创建以来,IMAP 已多次进行各种修订 - 目前的版本是 IMAP4。同时,它还有很多可选的扩展——网络上
与此同时,许多公司提供了自己的专有解决方案,可以简化 IMAP 的使用,甚至取代它:
IaaS 提供商的开发主管 Sergei Belkin 表示:“此外,现代电子邮件客户端不仅应该转发消息,还应该能够处理联系人并与日历同步。”
1cloud.ru 。 — 如今,第三方协议如LDAP的 ,卡DAV и加州DAV 。这种方法使企业网络中的防火墙配置变得复杂,并为网络攻击开辟了新的载体。”
JMAP就是为了解决这些问题而设计的。它是由 FastMail 专家在互联网工程任务组 (IETF) 的指导下开发的。该协议在 HTTPS 之上运行,使用 JSON(因此它不仅适用于交换电子消息,还适用于解决云中的许多任务)并简化了在移动系统中处理邮件的组织。除了处理信件之外,JMAP 还提供连接扩展以处理联系人和日历调度程序的功能。
新协议的特点
JMAP 是
JMAP 中的电子邮件以 JSON 结构格式表示。它包含消息中的所有信息
客户端使用 API 来联系服务器。为此,它会生成经过身份验证的 POST 请求,其属性在 JMAP 会话对象中进行描述。该请求采用 application/json 格式,由单个 JSON 请求对象组成。服务器还生成一个响应对象。
В
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
以下是服务器将生成的响应的示例:
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
完整的 JMAP 规范和示例实现可以在以下位置找到:
/
前途
尽管该标准的工作尚未正式完成,但它已经在生产环境中实施。例如,开放邮件服务器的创建者
可以预见,未来将会有越来越多的基于JMAP的项目。例如,正在为 Linux 系统创建 IMAP 服务器的 Open-Xchange 开发人员有可能会转向新协议。非常拒绝 IMAP 他们
IETF 和 FastMail 的开发人员表示,越来越多的用户看到了对新的开放消息传递标准的需求。 JMAP 的作者希望将来有更多的公司开始实施该协议。
我们的额外资源和来源:
如何检查 cookie 是否符合 GDPR - 一个新的开放工具将提供帮助
来源: habr.com