JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila

Ma mua o kēia mahina ma Hacker News ua kūkākūkā ikaika ʻia JMAP protocol kūkulu ʻia ma lalo o ke alakaʻi a ka IETF. Ua hoʻoholo mākou e kamaʻilio e pili ana i ke kumu e pono ai a pehea e hana ai.

JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila
/ waihona /PD

ʻO kaʻu mea makemake ʻole e pili ana i ka IMAP

Pūnaewele IMAP 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 MD5 - ʻ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 hoʻopuka ʻia kanaiwa mau RFC me nā mea hoʻohui. ʻO kekahi o nā mea hou loa RFC8514, 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: gmail, Outlook, ʻO Nylas. ʻ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. 1cloud.ru. - I kēia lā, nā protocols ʻaoʻao ʻekolu e like me ʻDlelo Hana LDAP, CardDAV и CalDAV. 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 protocol stateless (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 RFC5322 (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 Mime, 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.

В hoakaka (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 kahua pūnaewele papahana. Ma laila hoʻi nā mea kākau i hoʻopuka i ka wehewehe ʻana i nā kikoʻī no Nā Hoʻopili JMAP и Nā Kalena JMAP - ke manaʻo nei lākou e hana me nā kalena a me nā papa inoa pili. Na e like me 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 nā waihona ma GitHub.

JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila
/ waihona /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 Cyrus IMAP ua hoʻokō i kāna mana JMAP. Nā mea hoʻomohala mai FastMail hoʻokuʻu ʻia server framework no ka protocol hou ma Perl, a ua hōʻike ʻia nā mea kākau o JMAP kikowaena kikowaena.

Hiki iā mākou ke manaʻo e nui aʻe nā papahana JMAP i ka wā e hiki mai ana. No ka laʻana, aia kekahi mea e hoʻololi ai nā mea hoʻomohala mai Open-Xchange, ka mea e hana nei i kahi kikowaena IMAP no nā ʻōnaehana Linux, e hoʻololi i ka protocol hou. E hōʻole loa iā IMAP nīnau nā lālā o ke kaiāulu, 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:

JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila Pehea e nānā ai i nā kuki no ka hoʻokō GDPR - e kōkua kahi mea hana hou

JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila Pehea e hoʻopaʻa ai me kahi ʻano polokalamu polokalamu noi
JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila DevOps ma kahi lawelawe kapua e hoʻohana ana i ka laʻana o 1cloud.ru
JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila Ka ulu ʻana o 1cloud cloud architecture

JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila Hiki ke hoʻouka ʻia ma HTTPS a pehea e pale aku ai iā lākou
JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila Pehea e pale ai i kahi kikowaena ma ka Pūnaewele: 1cloud.ru ʻike
JMAP - he protocol wehe e pani i ka IMAP i ka wā e hoʻololi ai i nā leka uila He papahana hoʻonaʻauao pōkole: he aha ka Hoʻohui Hoʻomau

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka