JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol

Shu oy boshida Hacker News-da faol muhokama qilindi JMAP protokoli IETF rahbarligida ishlab chiqilgan. Biz nima uchun kerakligi va u qanday ishlashi haqida gapirishga qaror qildik.

JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol
/ PxMana /PD

IMAP haqida menga nima yoqmadi

Protokol IMAP 1986 yilda joriy etilgan. Standartda tasvirlangan ko'p narsalar bugungi kunda dolzarb emas. Masalan, protokol xat satrlari sonini va nazorat summalarini qaytarishi mumkin MD5 - bu funksiya zamonaviy elektron pochta mijozlarida deyarli qo'llanilmaydi.

Yana bir muammo - transport iste'moli bilan bog'liq. IMAP yordamida elektron pochta xabarlari serverda saqlanadi va vaqti-vaqti bilan mahalliy mijozlar bilan sinxronlashtiriladi. Agar biron sababga ko'ra foydalanuvchi qurilmasidagi nusxa buzilgan bo'lsa, barcha pochta qayta sinxronlashtirilishi kerak. Minglab mobil qurilmalar serverga ulanishi mumkin bo'lgan zamonaviy dunyoda bu yondashuv trafik va hisoblash resurslarining ko'payishiga olib keladi.

Qiyinchiliklar nafaqat protokolning o'zi, balki u bilan ishlaydigan elektron pochta mijozlari bilan ham yuzaga keladi. Yaratilganidan beri IMAP ko'p marta turli xil qayta ko'rib chiqilgan - hozirgi versiya IMAP4. Shu bilan birga, u uchun ko'plab ixtiyoriy kengaytmalar mavjud - tarmoqda nashr etilgan qo'shimchalar bilan to'qson RFC. Eng so'nggilaridan biri RFC8514, 2019 yilda taqdim etilgan.

Shu bilan birga, ko'plab kompaniyalar IMAP bilan ishlashni soddalashtirishi yoki hatto uni almashtirishi kerak bo'lgan o'zlarining xususiy echimlarini taklif qilishadi: Gmail, nuqtai nazar, Nilas. Natijada, mavjud elektron pochta mijozlari faqat ba'zi mavjud xususiyatlarni qo'llab-quvvatlaydi. Bunday xilma-xillik bozor segmentatsiyasiga olib keladi.

"Bundan tashqari, zamonaviy elektron pochta mijozi nafaqat xabarlarni yuborishi, balki kontaktlar bilan ishlash va taqvim bilan sinxronlash imkoniyatiga ega bo'lishi kerak", deydi Sergey Belkin, IaaS provayderining ishlab chiqish bo'yicha rahbari. 1cloud.ru. β€” Bugungi kunda uchinchi tomon protokollari yoqadi LDAP, CardDAV ΠΈ CalDAV. Bunday yondashuv korporativ tarmoqlarda xavfsizlik devorlarining konfiguratsiyasini murakkablashtiradi va kiberhujumlar uchun yangi vektorlarni ochadi”.

JMAP ushbu muammolarni hal qilish uchun mo'ljallangan. U FastMail mutaxassislari tomonidan Internet Engineering Task Force (IETF) rahbarligida ishlab chiqilmoqda. Protokol HTTPS tepasida ishlaydi, JSON-dan foydalanadi (shuning uchun u nafaqat elektron xabarlar almashish uchun, balki bulutdagi bir qator vazifalarni hal qilish uchun ham mos keladi) va mobil tizimlarda pochta bilan ishlashni tashkil qilishni soddalashtiradi. Xatlarni qayta ishlashdan tashqari, JMAP kontaktlar va kalendar rejalashtiruvchisi bilan ishlash uchun kengaytmalarni ulash imkoniyatini ham beradi.

Yangi protokolning xususiyatlari

JMAP bu fuqaroligi bo'lmagan protokol (fuqaroligi yo'q) va pochta serveriga doimiy ulanishni talab qilmaydi. Bu xususiyat beqaror mobil tarmoqlarda ishni soddalashtiradi va qurilmalarda batareya quvvatini tejaydi.

JMAP-dagi elektron pochta JSON tuzilma formatida taqdim etiladi. Unda xabardagi barcha ma'lumotlar mavjud RFC5322 (Internet xabar formati), bu elektron pochta ilovalariga kerak bo'lishi mumkin. Ishlab chiquvchilarning fikriga ko'ra, ushbu yondashuv mijozlarni yaratishni soddalashtirishi kerak, chunki potentsial qiyinchiliklarni hal qilish (bilan bog'liq). Mime, sarlavhalarni o'qish va kodlash) server javob beradi.

Mijoz server bilan bog'lanish uchun API-dan foydalanadi. Buning uchun u autentifikatsiya qilingan POST so'rovini yaratadi, uning xususiyatlari JMAP sessiyasi ob'ektida tasvirlangan. So'rov ilova/json formatida va bitta JSON so'rovi ob'ektidan iborat. Server shuningdek, bitta javob ob'ektini yaratadi.

Π’ texnik xususiyatlar (3-band) mualliflar iltimos bilan quyidagi misolni taqdim etadilar:

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

Quyida server yaratadigan javobning namunasi keltirilgan:

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

To'liq JMAP spetsifikatsiyasini misol ilovalari bilan topish mumkin rasmiy veb-sayti loyiha. U erda mualliflar texnik xususiyatlarning tavsifini ham joylashtirdilar JMAP kontaktlari ΠΈ JMAP kalendarlari β€” ular kalendarlar va kontaktlar roΚ»yxati bilan ishlashga qaratilgan. tomonidan ko'ra mualliflar, Kontaktlar va Kalendarlar alohida hujjatlarga ajratildi, shunda ular "yadro" dan mustaqil ravishda yanada ishlab chiqilishi va standartlashtirilishi mumkin edi. JMAP uchun manba kodlari - in GitHub-dagi omborlar.

JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol
/ PxMana /PD

istiqbollari

Standart ustidagi ishlar hali rasman tugallanmaganiga qaramay, u allaqachon ishlab chiqarish muhitida joriy etilmoqda. Masalan, ochiq pochta serverini yaratuvchilar Cyrus IMAP JMAP versiyasini amalga oshirdi. FastMail-dan dasturchilar ozod qilindi Perl-dagi yangi protokol uchun server ramkasi va JMAP mualliflari taqdim etdilar proksi-server.

Kelajakda JMAP asosidagi loyihalar soni ortib borishini kutishimiz mumkin. Masalan, Linux tizimlari uchun IMAP serverini yaratayotgan Open-Xchange ishlab chiquvchilari yangi protokolga o'tishlari ehtimoli bor. Ularni IMAPdan juda rad eting - deb so'raydi jamoa a'zolari, kompaniya vositalari atrofida shakllangan.

IETF va FastMail dasturchilarining ta'kidlashicha, ko'proq foydalanuvchilar xabar almashish uchun yangi ochiq standartga ehtiyoj sezmoqda. JMAP mualliflari kelajakda ko'proq kompaniyalar ushbu protokolni amalga oshirishni boshlashiga umid qilmoqdalar.

Bizning qo'shimcha resurslarimiz va resurslarimiz:

JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol Cookie-fayllarni GDPR muvofiqligini qanday tekshirish mumkin - yangi ochiq vosita yordam beradi

JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol Ilova dasturlash interfeysi bilan qanday saqlash kerak
JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol 1cloud.ru misolidan foydalanib, bulutli xizmatdagi DevOps
JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol Bulut arxitekturasining evolyutsiyasi 1 bulut

JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol HTTPSga potentsial hujumlar va ulardan qanday himoyalanish mumkin
JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol Internetda serverni qanday himoya qilish kerak: 1cloud.ru tajribasi
JMAP - elektron pochta xabarlarini almashishda IMAP o'rnini bosadigan ochiq protokol Qisqa ta'lim dasturi: Uzluksiz integratsiya nima

Manba: www.habr.com

a Izoh qo'shish