في وقت سابق من هذا الشهر
، تمت مناقشة بروتوكول JMAP ، الذي تم
تطويره تحت إشراف IETF ،
بشكل نشط في Hacker News. قررنا أن نتحدث عن سبب الحاجة وكيف تعمل.
/ PxHere / PDما لم يرض IMAP
تم تقديم
IMAP في عام 1986. العديد من الأشياء الموضحة في المعيار لم تعد ذات صلة اليوم. على سبيل المثال ، يمكن أن يُرجع البروتوكول عدد أسطر الرسائل
واختبارات MD5 - هذه الوظيفة لا تُستخدم عملياً في عملاء البريد الحديث.
مشكلة أخرى هي استهلاك حركة المرور. في حالة IMAP ، يتم تخزين رسائل البريد الإلكتروني على الخادم ومزامنتها بشكل دوري مع العملاء المحليين. إذا كانت النسخة الموجودة على جهاز المستخدم "غنائم" لسبب ما ، فيجب عليك إعادة مزامنة جميع رسائل البريد. في العالم الحديث ، عندما يمكن توصيل آلاف الأجهزة المحمولة بالخادم ، يؤدي هذا الأسلوب إلى زيادة استهلاك موارد المرور والحوسبة.
تنشأ الصعوبات ليس فقط مع البروتوكول نفسه ، ولكن أيضًا مع عملاء البريد الإلكتروني الذين يعملون معه. منذ بدايته ، خضع IMAP لمراجعات متعددة مرات عديدة - الإصدار الحالي هو IMAP4 اليوم. علاوة على ذلك ، هناك العديد من الملحقات الاختيارية له - يتم
نشر تسعين RFCs مع إضافات على الشبكة. واحدة من الطازجة
RFC8514 ، قدم في عام 2019.
علاوة على ذلك ، تقدم العديد من الشركات حلولها الخاصة والتي من شأنها تبسيط العمل باستخدام IMAP أو حتى استبدالها:
Gmail و
Outlook و
Nylas . والنتيجة هي أن عملاء البريد الإلكتروني الحاليين يدعمون سوى عدد قليل من جميع الميزات المتاحة. هذا التنوع يؤدي إلى تجزئة السوق.
يقول سيرجي بلكين ، رئيس قسم تطوير موفر خدمة IaaS 1cloud.ru "علاوة على ذلك ، لا ينبغي على عميل البريد الإلكتروني الحديث إعادة توجيه الرسائل فحسب ، بل أن يكون قادرًا على العمل مع جهات الاتصال والمزامنة مع التقويم". - اليوم ، يتم استخدام بروتوكولات الجهات الخارجية مثل LDAP و CardDAV و CalDAV لهذه الأغراض. هذا النهج يعقد تكوين جدران الحماية في شبكات الشركات ويفتح متجهات جديدة للهجمات السيبرانية. "
يتم استدعاء JMAP لحل المشكلات المعينة. تم تطويره من قبل خبراء من FastMail تحت قيادة مجلس هندسة الإنترنت (IETF). يعمل البروتوكول أعلى HTTPS ، ويستخدم JSON (لهذا السبب ، فهو مناسب ليس فقط للمراسلة الإلكترونية ، ولكن أيضًا لحل عدد من المهام في السحابة) ويبسط تنظيم العمل مع البريد في أنظمة المحمول. بالإضافة إلى معالجة الحروف ، توفر JMAP أيضًا القدرة على توصيل الملحقات للعمل مع جهات الاتصال ومخطط التقويم.
ميزات البروتوكول الجديد
JMAP هو
بروتوكول عديم الحالة ولا يتطلب اتصال دائم بخادم البريد. تعمل هذه الميزة على تبسيط العمل في شبكات الهاتف المحمول غير المستقرة وتوفير أجهزة طاقة البطارية.
يتم تقديم البريد الإلكتروني في JMAP في تنسيق بنية JSON. أنه يحتوي على كافة المعلومات من رسالة
RFC5322 (تنسيق رسائل الإنترنت) التي قد تحتاجها تطبيقات البريد. وفقًا للمطورين ، يجب أن تبسط هذه الطريقة إنشاء العملاء ، لأن الخادم سيكون مسؤولاً عن حل الصعوبات المحتملة (المتعلقة بـ
MIME ، ورؤوس القراءة والتشفير).
يستخدم العميل API للوصول إلى الخادم. للقيام بذلك ، يقوم بإنشاء طلب POST مصدق ، يتم وصف خصائصه في كائن جلسة عمل JMAP. الطلب بتنسيق التطبيق / 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 موجود في
المستودع على جيثب .
/ PxHere / PDآفاق
على الرغم من حقيقة أن العمل الرسمي على المعيار لم يكتمل بعد ، إلا أنه يجري تنفيذه بالفعل في بيئات الإنتاج. على سبيل المثال ، قام مطورو خادم البريد المفتوح
Cyrus IMAP بتطبيق إصدار JMAP الخاص به. أصدر مطورو FastMail إطار عمل لخادم Perl الجديد ، بينما قدم مؤلفو JMAP خادمًا
وكيلًا .
من المتوقع أنه في المستقبل سيكون هناك المزيد والمزيد من المشروعات القائمة على JMAP. على سبيل المثال ، هناك احتمال أن يقوم المطورون من Open-Xchange بإنشاء بروتوكول جديد وإنشاء خادم IMAP لأنظمة Linux. لرفض بروتوكول IMAP ، يتم
سؤالهم بشدة
من قبل أعضاء المجتمع الذين شكلوا أدوات الشركة.
يقول مطورو IETF و FastMail أن المزيد والمزيد من المستخدمين يرون الحاجة إلى معيار مفتوح جديد للمراسلة. يأمل مؤلفو JMAP في المستقبل أن تبدأ المزيد من الشركات في تنفيذ هذا البروتوكول.
مواردنا ومصادرنا الإضافية:
كيفية التحقق من ملفات تعريف الارتباط للتأكد من توافق الناتج المحلي الإجمالي - سوف تساعد الأداة المفتوحة الجديدة
كيفية توفير المال باستخدام واجهة برمجة التطبيقات
DevOps في خدمة سحابية باستخدام 1cloud.ru كمثال
1cloud تطور العمارة السحابية
هجمات محتملة على HTTPS وطرق الحماية ضدها
كيفية حماية الخادم على الإنترنت: تجربة 1cloud.ru
برنامج تعليمي قصير: ما هو التكامل المستمر