JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود

اوایل این ماه در هکر نیوز به طور فعال مورد بحث قرار گرفت پروتکل JMAP تحت هدایت IETF توسعه یافته است. ما تصمیم گرفتیم در مورد اینکه چرا به آن نیاز است و چگونه کار می کند صحبت کنیم.

JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود
/ PxHere /PD

چیزی که من در مورد IMAP دوست نداشتم

پروتکل IMAP در سال 1986 معرفی شد. بسیاری از مواردی که در استاندارد توضیح داده شده است، امروزه دیگر مرتبط نیستند. به عنوان مثال، پروتکل می تواند تعداد خطوط یک حرف و جمع های چک را برگرداند MD5 - این قابلیت عملاً در کلاینت های ایمیل مدرن استفاده نمی شود.

مشکل دیگر مربوط به مصرف ترافیک است. با IMAP، ایمیل ها روی سرور ذخیره می شوند و به صورت دوره ای با مشتریان محلی همگام می شوند. اگر به دلایلی کپی روی دستگاه کاربر خراب شود، همه نامه ها باید دوباره همگام شوند. در دنیای مدرن، زمانی که هزاران دستگاه تلفن همراه می توانند به سرور متصل شوند، این رویکرد منجر به افزایش مصرف ترافیک و منابع محاسباتی می شود.

مشکلات نه تنها با خود پروتکل، بلکه در مورد کلاینت های ایمیلی که با آن کار می کنند نیز به وجود می آیند. از زمان ایجاد آن، IMAP بارها مورد بازنگری های مختلف قرار گرفته است - نسخه فعلی امروز IMAP4 است. در عین حال، بسیاری از برنامه های افزودنی اختیاری برای آن وجود دارد - در شبکه منتشر شده نود RFC با اضافات. یکی از جدیدترین آنها این است RFC8514، در سال 2019 معرفی شد.

در همان زمان، بسیاری از شرکت ها راه حل های اختصاصی خود را ارائه می دهند که باید کار با IMAP را ساده کرده یا حتی آن را جایگزین کند: جیمیل, چشم انداز, نایلاس. نتیجه این است که کلاینت های ایمیل موجود فقط برخی از ویژگی های موجود را پشتیبانی می کنند. چنین تنوعی منجر به تقسیم بازار می شود.

سرگئی بلکین، رئیس توسعه در ارائه‌دهنده IaaS می‌گوید: «به‌علاوه، یک سرویس‌گیرنده ایمیل مدرن نه تنها باید پیام‌ها را ارسال کند، بلکه بتواند با مخاطبین کار کند و با تقویم همگام‌سازی کند. 1cloud.ru. - امروزه، پروتکل های شخص ثالث مانند LDAP, CardDAV и CalDAV. این رویکرد پیکربندی فایروال ها را در شبکه های شرکتی پیچیده می کند و بردارهای جدیدی را برای حملات سایبری باز می کند.

JMAP برای حل این مشکلات طراحی شده است. این توسط کارشناسان FastMail و تحت هدایت گروه ضربت مهندسی اینترنت (IETF) در حال توسعه است. این پروتکل در بالای HTTPS اجرا می شود، از JSON استفاده می کند (به همین دلیل نه تنها برای تبادل پیام های الکترونیکی، بلکه برای حل تعدادی از وظایف در ابر نیز مناسب است) و سازماندهی کار با نامه را در سیستم های تلفن همراه ساده می کند. JMAP علاوه بر پردازش حروف، امکان اتصال افزونه ها برای کار با مخاطبین و زمانبندی تقویم را نیز فراهم می کند.

ویژگی های پروتکل جدید

JMAP است پروتکل بدون تابعیت (بی تابعیت) و نیازی به اتصال دائمی به سرور ایمیل ندارد. این ویژگی کار در شبکه های تلفن همراه ناپایدار را ساده می کند و در مصرف باتری دستگاه ها صرفه جویی می کند.

یک ایمیل در JMAP در قالب ساختار JSON نمایش داده می شود. این شامل تمام اطلاعات پیام است RFC5322 (فرمت پیام اینترنتی)، که ممکن است برای برنامه های ایمیل مورد نیاز باشد. به گفته توسعه دهندگان، این رویکرد باید ایجاد مشتریان را ساده کند، زیرا حل مشکلات احتمالی (مرتبط با میمه، خواندن هدرها و رمزگذاری) سرور پاسخ خواهد داد.

مشتری از API برای تماس با سرور استفاده می کند. برای انجام این کار، یک درخواست POST احراز هویت شده تولید می کند که ویژگی های آن در شی جلسه JMAP توضیح داده شده است. درخواست در قالب application/json است و از یک شی درخواست JSON تشکیل شده است. سرور همچنین یک شی پاسخ تولید می کند.

В مشخصات فنی (نقطه 3) نویسندگان مثال زیر را با یک درخواست ارائه می کنند:

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

در زیر نمونه ای از پاسخی است که سرور ایجاد می کند:

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

مشخصات کامل JMAP با نمونه‌های پیاده‌سازی را می‌توانید در اینجا پیدا کنید سایت رسمی پروژه در آنجا نویسندگان همچنین شرحی از مشخصات را ارسال کردند مخاطبین JMAP и تقویم های JMAP - هدف آنها کار با تقویم ها و لیست های مخاطبین است. توسط طبق نویسندگان، مخاطبین و تقویم ها به اسناد جداگانه تفکیک شدند تا بتوانند مستقل از "هسته" بیشتر توسعه یافته و استاندارد شوند. کدهای منبع JMAP - in مخازن در GitHub.

JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود
/ PxHere /PD

چشم انداز

علیرغم اینکه کار بر روی استاندارد هنوز به طور رسمی تکمیل نشده است، در حال حاضر در محیط های تولیدی اجرا می شود. به عنوان مثال، سازندگان سرور ایمیل باز کوروش IMAP نسخه JMAP خود را پیاده سازی کرد. توسعه دهندگان از FastMail منتشر شد چارچوب سرور برای پروتکل جدید در پرل، و نویسندگان JMAP ارائه شده است سرور پروکسی.

می‌توان انتظار داشت که پروژه‌های مبتنی بر JMAP در آینده بیشتر و بیشتر شود. به عنوان مثال، برخی از این احتمال وجود دارد که توسعه دهندگان از Open-Xchange، که در حال ایجاد یک سرور IMAP برای سیستم های لینوکس هستند، به پروتکل جدید سوئیچ کنند. از IMAP آنها بسیار خودداری کنید اعضای جامعه می پرسند، پیرامون ابزارهای شرکت شکل گرفته است.

توسعه دهندگان IETF و FastMail می گویند که کاربران بیشتر و بیشتری نیاز به یک استاندارد باز جدید برای پیام رسانی را می بینند. نویسندگان JMAP امیدوارند که در آینده شرکت های بیشتری شروع به اجرای این پروتکل کنند.

منابع و منابع اضافی ما:

JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود نحوه بررسی کوکی‌ها برای انطباق با GDPR - یک ابزار باز جدید کمک خواهد کرد

JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود نحوه ذخیره با رابط برنامه نویسی برنامه
JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود DevOps در یک سرویس ابری با استفاده از مثال 1cloud.ru
JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود تکامل معماری ابری 1cloud

JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود حملات احتمالی به HTTPS و نحوه محافظت در برابر آنها
JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود نحوه محافظت از سرور در اینترنت: تجربه 1cloud.ru
JMAP - یک پروتکل باز که در هنگام تبادل ایمیل جایگزین IMAP می شود یک برنامه آموزشی کوتاه: ادغام مداوم چیست؟

منبع: www.habr.com

اضافه کردن نظر