Kumayambiriro kwa mwezi uno pa Hacker News JMAP protocol . Tinaganiza zoti tikambirane chifukwa chake zinali zofunika komanso mmene zimagwirira ntchito.
/ /PD
Zomwe sindimakonda za IMAP
Pulogalamu idakhazikitsidwa mu 1986. Zinthu zambiri zomwe zafotokozedwa muyeso sizilinso zofunikira masiku ano. Mwachitsanzo, protocol ikhoza kubweza chiwerengero cha mizere ya kalata ndi ma checksums - izi sizikugwiritsidwa ntchito mwamakasitomala amakono a imelo.
Vuto lina ndi lokhudzana ndi kuchuluka kwa magalimoto. Ndi IMAP, maimelo amasungidwa pa seva ndipo nthawi ndi nthawi amalumikizidwa ndi makasitomala am'deralo. Ngati pazifukwa zina kukopera pa chipangizo cha wosuta kuipitsidwa, makalata onse ayenera kulumikizidwa kachiwiri. M'dziko lamakono, pamene masauzande a mafoni a m'manja angagwirizane ndi seva, njira iyi imayambitsa kuwonjezereka kwa magalimoto ndi makompyuta.
Zovuta sizimangokhala ndi protocol yokha, komanso ndi makasitomala a imelo omwe amagwira nawo ntchito. Chiyambireni kupangidwa kwake, IMAP yakhala ikusinthidwa mosiyanasiyana nthawi zambiri - mtundu wapano lero ndi IMAP4. Nthawi yomweyo, pali zowonjezera zambiri zomwe mungasankhe - pa intaneti ma RFC makumi asanu ndi anayi okhala ndi zowonjezera. Chimodzi mwa zaposachedwa kwambiri ndi anayambitsa mu 2019.
Nthawi yomweyo, makampani ambiri amapereka mayankho awoawo omwe akuyenera kukhala kosavuta kugwira ntchito ndi IMAP kapena m'malo mwake: , , . Zotsatira zake ndikuti makasitomala omwe alipo kale amangothandizira zina zomwe zilipo. Kusiyanasiyana kotereku kumabweretsa magawo amsika.
"Kuphatikiza apo, kasitomala wamakono wa imelo sayenera kungotumiza mauthenga, koma amatha kugwira ntchito ndi olumikizana nawo ndikugwirizanitsa ndi kalendala," akutero Sergei Belkin, wamkulu wa chitukuko pa wopereka IaaS. . - Masiku ano, ma protocol a chipani chachitatu ngati , и . Njirayi imapangitsa kuti pakhale zovuta kukonza ma firewall mumanetiweki amakampani ndikutsegula ma vector atsopano okhudza cyber. "
JMAP idapangidwa kuti ithetse mavutowa. Ikupangidwa ndi akatswiri a FastMail motsogozedwa ndi Internet Engineering Task Force (IETF). Protocol imayenda pamwamba pa HTTPS, imagwiritsa ntchito JSON (chifukwa chake sikoyenera kutumizirana mauthenga apakompyuta, komanso kuthetsa ntchito zingapo pamtambo) komanso imathandizira bungwe logwira ntchito ndi makalata pama foni am'manja. Kuphatikiza pakusintha zilembo, JMAP imaperekanso kuthekera kolumikiza zowonjezera kuti mugwire ntchito ndi omwe mumalumikizana nawo komanso kalendala.
Zomwe zili mu protocol yatsopano
JMAP ndi (zopanda malire) ndipo sizifunikira kulumikizana kosatha ku seva yamakalata. Izi zimathandizira ntchito pamanetiweki osakhazikika komanso kusunga batire pazida.
Imelo mu JMAP imayimiridwa mumtundu wa JSON. Lili ndi mfundo zonse zochokera mu uthengawo (Intaneti Message Format), yomwe ingafunike ndi maimelo. Malinga ndi omwe akutukula, njira iyi iyenera kupangitsa kuti makasitomala azitha kupanga mosavuta, chifukwa kuthetsa mavuto omwe angakhalepo (okhudzana ndi , kuwerenga mitu ndi encoding) seva idzayankha.
Wothandizira amagwiritsa ntchito API kuti alumikizane ndi seva. Kuti muchite izi, imapanga pempho lovomerezeka la POST, zomwe zimafotokozedwa mu gawo la gawo la JMAP. Pempholi lili mu mawonekedwe a application/json ndipo lili ndi chinthu chimodzi chopempha cha JSON. Seva imapanganso chinthu chimodzi choyankha.
В (mfundo 3) olembawo amapereka chitsanzo chotsatirachi ndi pempho:
{
"using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
"methodCalls": [
[ "method1", {
"arg1": "arg1data",
"arg2": "arg2data"
}, "c1" ],
[ "method2", {
"arg1": "arg1data"
}, "c2" ],
[ "method3", {}, "c3" ]
]
}
Pansipa pali chitsanzo cha yankho lomwe seva ipanga:
{
"methodResponses": [
[ "method1", {
"arg1": 3,
"arg2": "foo"
}, "c1" ],
[ "method2", {
"isBlah": true
}, "c2" ],
[ "anotherResponseFromMethod2", {
"data": 10,
"yetmoredata": "Hello"
}, "c2"],
[ "error", {
"type":"unknownMethod"
}, "c3" ]
],
"sessionState": "75128aab4b1b"
}
Mafotokozedwe athunthu a JMAP okhala ndi zitsanzo atha kupezeka pa polojekiti. Kumeneko olembawo adayikanso kufotokozera kwazomwe zimapangidwira и - amayang'ana kugwira ntchito ndi makalendala ndi mindandanda yolumikizirana. Wolemba olemba, Ma Contacts ndi Makalendala adagawidwa m'zikalata zosiyana kuti athe kupititsa patsogolo ndikukhazikitsidwa mosadalira "core". Zizindikiro za JMAP - mu .

/ /PD
Zoyembekeza
Ngakhale kuti ntchito yofananayo sinamalizidwe mwalamulo, ikugwiritsidwa ntchito m'malo opangira. Mwachitsanzo, omwe amapanga seva yamakalata otseguka adakhazikitsa mtundu wake wa JMAP. Madivelopa ochokera ku FastMail seva ya protocol yatsopano ku Perl, ndipo olemba a JMAP adawonetsedwa .
Tikuyembekezera mapulojekiti ambiri ozikidwa pa JMAP mtsogolomu. Mwachitsanzo, pali mwayi kuti opanga mapulogalamu ku Open-Xchange, omwe akupanga seva ya IMAP ya Linux-machitidwe. N'kovuta kwambiri kusiya IMAP. , zopangidwa mozungulira zida za kampaniyo.
Madivelopa ochokera ku IETF ndi FastMail akuti ogwiritsa ntchito ochulukirachulukira akuwona kufunikira kwa mulingo watsopano wotseguka wa mauthenga. Olemba a JMAP akuyembekeza kuti m'tsogolomu makampani ambiri ayamba kugwiritsa ntchito ndondomekoyi.
Zida zathu zowonjezera ndi magwero:
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Source: www.habr.com
