JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera

I te timatanga o tenei marama i runga i te Hacker News i kaha te korero Kawa JMAP i whakawhanakehia i raro i te tohutohu a te IETF. I whakatau matou ki te korero mo te take i hiahiatia ai me pehea te mahi.

JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera
/ rakau /PD

Ko te mea kaore au i pai ki te IMAP

Tuhinga IMAP i whakauruhia i te tau 1986. He maha nga mea e whakaahuatia ana i roto i te paerewa kua kore e whai tikanga i enei ra. Hei tauira, ka taea e te kawa te whakahoki i te maha o nga rarangi o te reta me nga kaute MD5 - Ko tenei mahi kaore i te whakamahia ki nga kaihoko imeera hou.

Ko tetahi atu raruraru e pa ana ki te kohi waka. Ma te IMAP, ka penapena nga imeera ki runga i te tūmau me te tukutahi ki nga kaihoko o te rohe. Mena he take ka kino te kape o te taputapu a te kaiwhakamahi, me tukutahi ano nga mēra katoa. I roto i te ao hou, ka taea te hono atu nga mano o nga taputapu pūkoro ki te tūmau, ko tenei huarahi ka piki ake te kohi waka me nga rauemi rorohiko.

Ka puta nga uauatanga ehara i te kawa anake, engari me nga kaihoko imeera e mahi tahi ana. Mai i tona orokohangatanga, he maha nga wa i takahuria ai a IMAP - ko te putanga o naianei ko IMAP4. I te wa ano, he maha nga taapiri taapiri - kei runga i te whatunga whakaputaina e iwa tekau nga RFC me nga taapiri. Ko tetahi o nga mea hou RFC8514, i whakauruhia i te tau 2019.

I te wa ano, he maha nga kamupene e tuku ana i a raatau ake rongoatanga rangatira me ngawari te mahi me te IMAP me te whakakapi ranei: Gmail, Outlook, nylas. Ko te hua ko nga kaihoko imeera e tautoko ana i etahi o nga ahuatanga e waatea ana. Ko taua rereketanga ka arahi ki te wehewehenga maakete.

"I tua atu, ko te kaihoko imeera hou kaua e tuku noa i nga karere, engari ka kaha ki te mahi me nga hoapaki me te tukutahi me te maramataka," e kii ana a Sergei Belkin, te tumuaki whanaketanga i te kaiwhakarato IaaS 1kapua.ru. — I tenei ra, nga kawa tuatoru penei LDAP, KaariDAV и CalDAV. Ko tenei huarahi ka whakararuraru i te whirihoranga o nga papangaahi i roto i nga whatunga umanga me te whakatuwhera i nga vectors hou mo nga whakaeke ipurangi.

I hangaia a JMAP ki te whakaoti i enei raruraru. Kei te whakawhanakehia e nga tohunga o FastMail i raro i te kaiarahi o te Internet Engineering Task Force (IETF). Ko te kawa e rere ana i runga ake o te HTTPS, ka whakamahi i a JSON (mo tenei take he pai mo te whakawhiti i nga karere hiko, engari mo te whakaoti i te maha o nga mahi i roto i te kapua) me te whakaiti i te whakahaere o te mahi me te mēra i roto i nga punaha waea. I tua atu ki te tukatuka i nga reta, ka whakarato ano hoki a JMAP i te kaha ki te hono i nga toronga mo te mahi me nga hoapaki me te raarangi maramataka.

Nga ahuatanga o te kawa hou

Ko JMAP kawa kore whenua (kore whenua) me te kore e hiahiatia he hononga pumau ki te tūmau mēra. Ko tenei ahuatanga ka ngawari te mahi i roto i nga whatunga pūkoro koretake me te penapena i te mana pākahiko i runga i nga taputapu.

Ko tetahi imeera i JMAP e whakaatuhia ana i roto i te whakatakotoranga hanganga JSON. Kei roto nga korero katoa mai i te karere RFC5322 (Hōputu Karere Ipurangi), ka hiahiatia pea e nga tono imeera. E ai ki nga kaiwhakawhanake, ko tenei huarahi me ngawari te hanga o nga kaihoko, mai i te whakaoti i nga raru pea (e pa ana ki Ngakau, panui pane me te whakawaehere) ka whakautu te tūmau.

Ka whakamahi te kiritaki i te API ki te whakapā atu ki te tūmau. Hei mahi i tenei, ka whakaputahia he tono POST whakamotuhēhē, ko ngā āhuatanga e whakaahuatia ana i te ahanoa wātū JMAP. Ko te tono kei roto i te whakatakotoranga tono/json me tetahi mea tono JSON kotahi. Ka mahia ano e te tūmau tetahi ahanoa whakautu.

В whakaritenga (tohu 3) ka tukuna e nga kaituhi te tauira e whai ake nei me te tono:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

Kei raro nei he tauira o te whakautu ka mahia e te tūmau:

{
  "methodResponses": [
    [ "method1", {
      "arg1": 3,
      "arg2": "foo"
    }, "c1" ],
    [ "method2", {
      "isBlah": true
    }, "c2" ],
    [ "anotherResponseFromMethod2", {
      "data": 10,
      "yetmoredata": "Hello"
    }, "c2"],
    [ "error", {
      "type":"unknownMethod"
    }, "c3" ]
  ],
  "sessionState": "75128aab4b1b"
}

Ko te katoa o nga korero JMAP me nga tauira whakatinanatanga ka kitea i paetukutuku mana kaupapa. I reira ka whakairihia e nga kaituhi he korero mo nga korero mo Hoapā JMAP и Maramataka JMAP — e whai ana ratou ki te mahi me nga maramataka me nga rarangi whakapā. Na rite i wehea nga kaituhi, Hoapapa me nga Maramataka ki nga tuhinga motuhake kia taea ai te whakawhanake ake me te whakataurite motuhake i te "matua". Waehere puna mo JMAP - in putunga i runga i GitHub.

JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera
/ rakau /PD

Tuhinga

Ahakoa ko te mahi i runga i te paerewa kaore ano kia oti mana, kei te whakatinanahia i roto i nga taiao whakaputa. Hei tauira, ko nga kaihanga o te tūmau mēra tuwhera Hairuha IMAP i whakatinanahia tana putanga JMAP. Kaihanga mai i FastMail kua tukuna angamahi tūmau mo te kawa hou i Perl, me nga kaituhi o JMAP i whakaatu tūmau takawaenga.

Ka taea e tatou te tumanako ka nui ake nga kaupapa a JMAP a muri ake nei. Hei tauira, tera pea ka huri nga kaihanga mai i Open-Xchange, e hanga ana i te tūmau IMAP mo nga punaha Linux, ki te kawa hou. Whakakahoretia te IMAP ki a raatau patai nga mema o te hapori, i hangaia huri noa i nga taputapu a te kamupene.

Ko nga Kaihanga mai i te IETF me te FastMail e kii ana kei te nui ake nga kaiwhakamahi kei te kite i te hiahia mo tetahi paerewa tuwhera hou mo te tuku karere. Ko nga kaituhi o JMAP e tumanako ana ka nui ake nga kamupene ka timata ki te whakatinana i tenei kawa.

Ko a maatau rauemi taapiri me nga puna:

JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera Me pehea te tirotiro pihikete mo te hanganga ture GDPR - he taputapu tuwhera hou ka awhina

JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera Me pehea te Tiaki me te Atanga Papatono Tono
JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera DevOps i roto i te ratonga kapua ma te whakamahi i te tauira o 1cloud.ru
JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera Te whanaketanga o te hoahoanga kapua kapua 1

JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera Ko nga whakaeke pea i runga i te HTTPS me pehea te tiaki i a raatau
JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera Me pehea te tiaki i tetahi tūmau i runga i te Ipurangi: 1cloud.ru wheako
JMAP - he kawa tuwhera hei whakakapi i te IMAP ina whakawhiti imeera He kaupapa ako poto: he aha te Continuous Integration

Source: will.com

Tāpiri i te kōrero