Ma mua o kēia mahina ma Hacker News JMAP protocol . Ua hoʻoholo mākou e kamaʻilio e pili ana i ke kumu e pono ai a pehea e hana ai.
/ /PD
ʻO kaʻu mea makemake ʻole e pili ana i ka IMAP
Pūnaewele ua hoʻokomo ʻia i ka makahiki 1986. ʻAʻole pili hou nā mea he nui i wehewehe ʻia ma ka maʻamau i kēia lā. No ka laʻana, hiki i ka protocol ke hoʻihoʻi i ka helu o nā laina o kahi leka a me nā checksums - ʻaʻole hoʻohana ʻia kēia hana i nā mea kūʻai leka uila hou.
ʻO kekahi pilikia e pili ana i ka hoʻohana kaʻa. Me IMAP, mālama ʻia nā leka uila ma ke kikowaena a hoʻonohonoho pū ʻia me nā mea kūʻai aku kūloko. Inā no kekahi kumu i pōʻino ai ke kope o ka mea hoʻohana, pono e hoʻonohonoho hou ʻia nā leka a pau. I ke ao hou, ke hiki ke hoʻopili ʻia nā tausani o nā polokalamu kelepona i ke kikowaena, alakaʻi kēia ala i ka hoʻonui ʻana i ka hoʻohana ʻana i nā kaʻa a me nā kumuwaiwai helu.
ʻAʻole kū wale nā pilikia me ka protocol ponoʻī, akā me nā mea leka uila e hana pū me ia. Mai kona hana ʻana, ua hoʻololi ʻia ka IMAP i nā manawa he nui - ʻo IMAP4 ka mana o kēia manawa. I ka manawa like, nui nā hoʻonui koho no ia - ma ka pūnaewele kanaiwa mau RFC me nā mea hoʻohui. ʻO kekahi o nā mea hou loa , i hoʻokomo ʻia ma 2019.
I ka manawa like, hāʻawi nā hui he nui i kā lākou pono ponoʻī pono e hoʻomaʻamaʻa i ka hana me IMAP a i ʻole ke hoʻololi iā ia: , , . ʻO ka hopena, kākoʻo wale nā mea kūʻai leka uila i kekahi o nā hiʻohiʻona i loaʻa. ʻO ia ʻano like ʻole e alakaʻi i ka māhele mākeke.
"Eia kekahi, ʻaʻole pono i ka mea kūʻai leka uila hou e hoʻouna i nā memo, akā hiki iā ia ke hana me nā pilina a hoʻonohonoho pū me ka kalena," wahi a Sergei Belkin, ke poʻo o ka hoʻomohala ʻana ma ka mea hoʻolako IaaS. . - I kēia lā, nā protocols ʻaoʻao ʻekolu e like me , и . Hoʻopili kēia ala i ka hoʻonohonoho ʻana o nā pā ahi i nā ʻoihana hui a wehe i nā vectors hou no ka hoʻouka kaua cyber.
Hoʻolālā ʻia ʻo JMAP e hoʻoponopono i kēia mau pilikia. Ke kūkulu ʻia nei e nā loea FastMail ma lalo o ke alakaʻi ʻana o ka Internet Engineering Task Force (IETF). Holo ka protocol ma luna o HTTPS, hoʻohana iā JSON (no kēia kumu kūpono ʻaʻole wale no ka hoʻololi ʻana i nā leka uila, akā no ka hoʻoponopono ʻana i nā hana he nui i ke ao) a hoʻomaʻamaʻa i ka hoʻonohonoho ʻana o ka hana me ka leka uila ma nā ʻōnaehana kelepona. Ma waho aʻe o ka hoʻoponopono ʻana i nā leka, hāʻawi pū ʻo JMAP i ka hiki ke hoʻohui i nā mea hoʻonui no ka hana ʻana me nā pilina a me kahi mea hoʻonohonoho kalena.
Nā hiʻohiʻona o ka protocol hou
ʻO JMAP (stateless) a ʻaʻole koi i kahi pilina paʻa i ke kikowaena leka uila. Hoʻomaʻamaʻa kēia hiʻohiʻona i ka hana ma nā pūnaewele paʻa ʻole a mālama i ka mana pākaukau ma nā polokalamu.
Hōʻike ʻia kahi leka uila ma JMAP ma kahi ʻano hoʻolālā JSON. Loaʻa iā ia nā ʻike a pau mai ka memo (Internet Message Format), pono paha e nā leka uila. Wahi a nā mea hoʻomohala, pono kēia ala e hoʻomaʻamaʻa i ka hana ʻana o nā mea kūʻai aku, no ka hoʻoponopono ʻana i nā pilikia pilikia (pili me , heluhelu poʻomanaʻo a me ka hoʻopili ʻana) e pane mai ke kikowaena.
Hoʻohana ka mea kūʻai aku i ka API e hoʻopili i ke kikowaena. No ka hana ʻana i kēia, hoʻopuka ʻo ia i kahi noi POST i hōʻoia ʻia, nā waiwai i wehewehe ʻia ma ka JMAP session object. Aia ka noi ma ka palapala noi/json a loaʻa kahi mea noi JSON hoʻokahi. Hoʻokumu ke kikowaena i hoʻokahi mea pane.
В (helu 3) hāʻawi nā mea kākau i kēia laʻana me kahi noi:
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
Aia ma lalo kahi hiʻohiʻona o ka pane a ke kikowaena e hana ai:
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
Hiki ke loaʻa ka kikoʻī JMAP piha me nā hoʻokō laʻana ma papahana. Ma laila hoʻi nā mea kākau i hoʻopuka i ka wehewehe ʻana i nā kikoʻī no и - ke manaʻo nei lākou e hana me nā kalena a me nā papa inoa pili. Na nā mea kākau, Hoʻokaʻaʻike a me nā Kalena i hoʻokaʻawale ʻia i nā palapala ʻokoʻa i hiki ke hoʻomohala hou ʻia a hoʻohālikelike ʻia me ke kūʻokoʻa o ka "core". Nā code kumu no JMAP - in .

/ /PD
Nā Hope
ʻOiai ʻaʻole i hoʻopau ʻia ka hana ma ka maʻamau, ua hoʻokō ʻia i nā wahi hana. No ka laʻana, nā mea hana o ka leka uila wehe ua hoʻokō i kāna mana JMAP. Nā mea hoʻomohala mai FastMail server framework no ka protocol hou ma Perl, a ua hōʻike ʻia nā mea kākau o JMAP .
Hiki iā mākou ke manaʻo i nā papahana JMAP hou aʻe i ka wā e hiki mai ana. No ka laʻana, aia kahi manawa kūpono e hiki ai i nā mea hoʻomohala ma Open-Xchange, ka poʻe e hana nei i kahi kikowaena IMAP no Linux-nā ʻōnaehana. He mea paʻakikī loa ka haʻalele ʻana iā IMAP. , i hoʻokumu ʻia a puni nā mea hana o ka hui.
Ua ʻōlelo nā mea hoʻomohala mai ka IETF a me FastMail i ka nui aʻe o nā mea hoʻohana e ʻike nei i ka pono o kahi kūlana wehe hou no ka leka uila. Manaʻo nā mea kākau o JMAP i ka wā e hiki mai ana e hoʻomaka hou nā hui e hoʻokō i kēia protocol.
ʻO kā mākou mau kumuwaiwai hou aʻe:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Source: www.habr.com
