ما هو رمز الحالة 102 قيد المعالجة؟ إشارة الخادم "انتظر، ما زلت أعمل!"

INEZA Felin-Michel

INEZA Felin-Michel

10 سبتمبر 2025

ما هو رمز الحالة 102 قيد المعالجة؟ إشارة الخادم "انتظر، ما زلت أعمل!"

أنت تقوم بتحميل ملف فيديو ضخم، بحجم عدة جيجابايت، إلى السحابة. شريط التقدم يزحف ببطء. فجأة، يتجمد متصفحك. تبدو الصفحة غير مستجيبة. بعد بضع دقائق من القلق، تتلقى خطأً مخيفًا: 504 Gateway Timeout. لقد تخلى الخادم عنك.

الآن، تخيل سيناريو مختلفًا. التحميل بطيء بنفس القدر، ولكن مؤشر دوار صغير على الصفحة نشط. تتلقى إشعارًا: "معالجة الفيديو الخاص بك... قد يستغرق هذا بضع دقائق." تنتظر بصبر، وفي النهاية، تتلقى رسالة نجاح.

ما هو الفرق؟ في السيناريو الثاني، ربما كان الخادم يستخدم رمز حالة HTTP ذكيًا، وإن كان نادرًا، لإدارة توقعاتك: 102 Processing.

رمز الحالة هذا هو طريقة الخادم لقولها بلطف: "مرحبًا، لقد تلقيت طلبك. إنه طلب كبير، وسيستغرق مني بعض الوقت لإنهائه. لكنني ما زلت حيًا وأعمل عليه، لذا من فضلك لا تغلق الاتصال بي!"

إنه المعادل الرقمي لنادل يتفقد طاولتك بينما المطبخ مشغول بإعداد طبق معقد. إنهم لا يحضرون طعامك بعد، لكنهم يؤكدون لك أن طلبك لم يُنسَ.

إذا كنت قد شاركت في تطوير الويب أو تكاملات واجهة برمجة التطبيقات (API)، فربما تكون قد ألقيت نظرة على رموز حالة HTTP، وبالتأكيد الرموز الشائعة مثل 200 OK أو 404 Not Found. ومع ذلك، توجد بعض الرموز الأقل شهرة ولكنها لا تقل أهمية، مثل 102 Processing. على الرغم من أنها ليست مفهومة على نطاق واسع، إلا أن حالة HTTP هذه تساعد على تحسين كفاءة الاتصال بين العملاء والخوادم، خاصة عند التعامل مع الطلبات المعقدة أو طويلة الأمد.

للوهلة الأولى، قد يبدو الأمر محيرًا. ما هو "المعالجة" بالضبط؟ لماذا يحتاج الخادم إلى إرسال هذه الرسالة على الإطلاق؟ والأهم من ذلك، كيف يجب على المطورين التعامل معها في التطبيقات الواقعية؟

هذا بالضبط ما سنستكشفه في هذا الدليل.

في هذه المقالة الشاملة، ستكتشف معنى رمز حالة 102 Processing، ولماذا تم تقديمه، وكيف يعمل، والسيناريوهات التي يستخدم فيها. إذا كنت ترغب في اختبار رموز حالة HTTP، بما في ذلك الرموز النادرة مثل 102 Processing، فأنت بحاجة إلى منصة موثوقة لاختبار واجهة برمجة التطبيقات. هذا هو المكان الذي يأتي فيه Apidog. باستخدام Apidog، يمكنك تصميم، محاكاة، اختبار، تصحيح الأخطاء و توثيق واجهات برمجة التطبيقات بسلاسة أثناء فحص الاستجابات في الوقت الفعلي. والجزء الأفضل؟ يمكنك تنزيل Apidog مجانًا اليوم والبدء في استكشاف رموز مثل 102 Processing عمليًا.

button

الآن، دعنا نستكشف الغرض والتاريخ والتطبيق العملي لرمز حالة HTTP 102 Processing.

المشكلة: الإنترنت غير الصبور

الإنترنت مبني على أساس عدم الصبر. اتصالات HTTP ليست مخصصة للبقاء مفتوحة إلى الأبد. كل مكون في السلسلة من العميل (متصفحك) إلى الوكلاء المحتملين وموازنات التحميل لديه مهلات مدمجة.

إذا استغرق الخادم وقتًا طويلاً لإرسال استجابة، فستفترض هذه المكونات أن الاتصال ميت وتقوم بإنهاءه، مما يؤدي غالبًا إلى أخطاء مثل:

هذا إجراء وقائي معقول. يمنع الاتصالات المعلقة من استهلاك موارد ثمينة. ومع ذلك، فإنه يخلق مشكلة للعمليات المشروعة التي تستغرق وقتًا طويلاً لإكمالها، مثل معالجة فيديو كبير، أو إنشاء تقرير معقد، أو إجراء عملية بيانات مجمعة.

السؤال هو: كيف يخبر الخادم العميل، "ما زلت أعمل"، دون إرسال الاستجابة النهائية فعليًا؟

الجواب، المحدد في RFC 2518 (لـ WebDAV)، هو رمز الحالة 102 Processing.

ما هو رمز الحالة 102 Processing؟

رمز حالة HTTP 102 Processing ينتمي إلى فئة الاستجابة المعلوماتية 1xx. لا تمثل رموز الحالة هذه إجابات نهائية؛ بدلاً من ذلك، توفر معلومات إضافية خلال دورة حياة الطلب والاستجابة.

على وجه التحديد، 102 Processing يعني:

"لقد تلقى الخادم طلبك ويعمل عليه بنشاط، ولكن لا توجد استجابة نهائية متاحة بعد."

تم تعريف رمز الحالة هذا في RFC 2518 (امتداد WebDAV لـ HTTP). وهو مصمم أساسًا لإعلام العميل بما يلي:

على عكس رموز الاستجابة النموذجية التي تشير إلى النجاح أو الفشل، فإن 102 هي طريقة لإبقاء العميل على اطلاع ومنع المهلات المبكرة على الطلبات طويلة الأمد.

اتصال WebDAV

لفهم 102 Processing، يجب أن تتحدث عن WebDAV (Web Distributed Authoring and Versioning). WebDAV هو امتداد لـ HTTP يسمح للعملاء بتحرير وإدارة الملفات بشكل تعاوني على خادم ويب بعيد. إنها التكنولوجيا وراء "محركات الأقراص الشبكية" التي يمكنك تعيينها في Windows أو macOS.

عمليات WebDAV مثل نسخ أو نقل مجلد يحتوي على آلاف الملفات يمكن أن تستغرق وقتًا طويلاً جدًا. تم اختراع رمز الحالة 102 خصيصًا لهذا السياق للحفاظ على الاتصال حيًا خلال هذه العمليات الطويلة.

لماذا يوجد 102 Processing؟

يمكن أن تكون طلبات الويب الحديثة غالبًا معقدة وتستغرق وقتًا طويلاً، خاصة عندما تتضمن المعالجة ما يلي:

تخيل تحميل ملف كبير أو تشغيل عملية قاعدة بيانات معقدة عبر واجهة برمجة التطبيقات (API). إذا استغرق الخادم وقتًا طويلاً للاستجابة، فقد يعتقد العميل أن شيئًا ما حدث خطأ ويقطع الاتصال.

هنا يأتي دور 102 Processing.

يخبر العميل: "اهدأ، لقد تلقيت طلبك. يستغرق الأمر وقتًا، لكنني أعمل عليه."

هذا مفيد بشكل خاص في:

قبل تقديم 102، لم يكن العملاء يعرفون ما إذا كان الطلب بطيئًا أم مفقودًا، مما أدى غالبًا إلى إعادة المحاولات غير الضرورية أو مهلات الاتصال. يعمل رمز 102 كنبض قلب، يخبر العملاء: "انتظروا قليلًا، أنا أعمل عليه!"

دور 102 في WebDAV

تم تقديم 102 Processing في الأصل في WebDAV (Web Distributed Authoring and Versioning)، الذي يوسع HTTP لإدارة الملفات التعاونية.

على سبيل المثال، إذا قام مستخدم بتحميل ملف بحجم 500 ميجابايت:

بينما كان WebDAV هو المحرك الرئيسي، يمكن أن يكون 102 مفيدًا أيضًا في واجهات برمجة التطبيقات الحديثة (REST APIs) والخدمات السحابية التي تتعامل مع أعباء عمل ثقيلة.

الاختلافات بين 100 Continue و 102 Processing

قد تتساءل كيف يختلف 102 عن 100 Continue المشابه:

معًا، تعمل رموز الحالة هذه على تحسين كفاءة الاتصال خلال دورات الطلب المعقدة.

كيف يعمل: تدفق الاتصال

دعنا ننتقل إلى مثال افتراضي لاستجابة 102 Processing قيد التنفيذ.

السيناريو: يطلب العميل من الخادم "معالجة جميع الصور المحملة لإنشاء صورة بانورامية". هذه مهمة تتطلب الكثير من وحدة المعالجة المركزية وستستغرق 90 ثانية.

الطلب:

يرسل العميل طلب POST إلى /api/generate-panorama.

الاستجابة الفورية (102):

تتلقى واجهة برمجة التطبيقات (API) الخاصة بالخادم الطلب وتتحقق منه. تعرف أن المهمة ستستغرق بعض الوقت. بدلاً من البقاء صامتة، ترسل على الفور:

HTTP/1.1 102 Processing

هذه الاستجابة ليس لها نص. إنها مجرد سطر حالة ورؤوس. وظيفتها الوحيدة هي أن تقول: "أنا أعمل على ذلك."

فترة الانتظار:

يتلقى العميل رمز 102. يفهم العميل ذو السلوك الجيد أن هذا يعني أنه يجب عليه إبقاء الاتصال مفتوحًا والاستمرار في الانتظار. يتم إعادة تعيين مؤقت مهلة العميل بشكل فعال.

الاستجابة النهائية:

بعد تسعين ثانية، ينتهي الخادم من إنشاء البانوراما. يرسل الآن الاستجابة الحقيقية عبر نفس الاتصال:

HTTP/1.1 200 OKContent-Type: application/json
{"status": "success", "url": "/images/panorama-123.jpg"}

دورة الطلب والاستجابة مكتملة الآن.

تمنع إشارة "الحفاظ على الاتصال" البسيطة هذه أجهزة الشبكة والعملاء من الاعتقاد خطأً أن الخادم قد توقف عن العمل.

لماذا لا يعد 102 Processing أكثر شيوعًا؟

إذا كان هذا مفيدًا جدًا، فلماذا لم يره أو يستخدمه معظم المطورين؟ هناك بعض الأسباب الرئيسية:

صعود الأنماط غير المتزامنة: الحل الحديث للطلبات طويلة الأمد غالبًا ما يكون أفضل من 102 Processing. بدلاً من إبقاء الاتصال مفتوحًا لدقائق، فإن أفضل الممارسات الآن هي:

هذا النمط أكثر قابلية للتوسع. لا يشغل عمليات الخادم أو الاتصالات الثمينة في انتظار المهام الطويلة.

دعم محدود للعملاء: لكي يعمل 102 Processing، يجب أن يعرف العميل كيفية التعامل معه. ليست جميع عملاء HTTP ومكتباتهم مبنية لتوقع أو تفسير استجابات متعددة بشكل صحيح على اتصال واحد. النمط غير المتزامن مع الاستعلام مفهوم عالميًا.

لا يحل جميع المشاكل: استجابة 102 تعيد تعيين المهلة لـ الاتصال، لكنها لا توفر أي تحديثات للتقدم. لا يزال العميل في الظلام حول ما إذا كانت المهمة قد اكتملت بنسبة 1٪ أو 99٪. يسمح نمط الاستعلام بحقل تقدم في استجابة الحالة.

مثال على 102 Processing قيد التنفيذ

دعنا نرى كيف قد يبدو هذا في الممارسة العملية.

طلب العميل:

PUT /files/large-video.mp4 HTTP/1.1
Host: example.com
Content-Length: 600000000

استجابة الخادم (أثناء العمل):

HTTP/1.1 102 Processing

استجابة الخادم النهائية (بمجرد الانتهاء):

HTTP/1.1 201 Created
Location: /files/large-video.mp4

هنا، استجابة 102 تطمئن العميل بأن التقدم يحدث قبل 201 Created النهائية.

الاستخدامات والبدائل الحديثة

بينما 102 Processing النقي نادر، فإن المشكلة التي يحلها ليست كذلك. لقد تبنى الويب الحديث استراتيجيات أخرى أكثر قوة وقابلية للتوسع:

  1. 202 Accepted + الاستعلام: كما هو موضح أعلاه، هذا هو النمط الأكثر شيوعًا وقابلية للتوسع اليوم.
  2. أحداث مرسلة من الخادم (SSE): للعمليات طويلة الأمد حيث يريد الخادم دفع تحديثات التقدم، يوفر SSE قناة أحادية الاتجاه للخادم لإرسال أحداث متعددة إلى العميل.
  3. خطافات الويب (Webhooks): الفصل المطلق. يقوم الخادم بمعالجة المهمة ثم يرسل استدعاء (خطاف ويب) إلى عنوان URL يوفره العميل لإخطاره بالانتهاء.

ومع ذلك، يمكن أن يظل 102 Processing أداة مفيدة في سيناريوهات محددة، خاصة في واجهات برمجة التطبيقات الداخلية أو الأنظمة حيث:

حالات الاستخدام الواقعية

أين قد تواجه 102 Processing في الحياة الواقعية؟

ماذا يجب أن يفعل العملاء عند تلقي 102 Processing؟

استجابة 102 هي معلوماتية بحتة، لذا عادة ما يقوم العملاء بما يلي:

تتعامل معظم عملاء HTTP الحديثة مع 102 بلطف أو تتجاهلها لأنها لا تنهي المعاملة.

تأثير 102 Processing على تجربة المستخدم والأداء

على الرغم من أن 102 يساعد في منع المهلات المبكرة، إلا أنه يمكن أن يضيف تعقيدًا:

فوائد 102 Processing

لماذا تهتم بـ 102 Processing على الإطلاق؟

المشاكل والمزالق الشائعة

على الرغم من فائدتها، هناك بعض التحذيرات:

اختبار واجهات برمجة التطبيقات باستخدام Apidog

عند العمل مع رموز الحالة مثل 102 Processing، من الضروري اختبارها بشكل صحيح، ولكن اختبار واجهات برمجة التطبيقات التي تستخدم 102 Processing يمكن أن يكون صعبًا بسبب الاستجابات غير المتزامنة ومتعددة المراحل.

هنا يتألق Apidog حقًا:

button

إذا كنت جادًا في تطوير واجهة برمجة التطبيقات، فإن Apidog يجعل تصحيح أخطاء رموز الحالة النادرة أمرًا سهلاً. قم بتنزيل Apidog مجانًا وأتقن اختبار واجهة برمجة التطبيقات الخاصة بك، بما في ذلك تلك التي تتعامل مع سير عمل 102 Processing المعقد.

أفضل الممارسات للمطورين

إليك بعض النصائح عند العمل مع 102 Processing:

الخاتمة: أداة متخصصة في عالم حديث

إذن، ما هو رمز الحالة 102 Processing؟

باختصار، إنها إشارة من الخادم تقول:

"لقد تلقيت طلبك، وأنا أعمل عليه. لا تستسلم بعد!"

إنها قيمة بشكل خاص للطلبات طويلة الأمد حيث قد يؤدي الصمت إلى افتراض العميل فشلًا. على الرغم من أنها ليست شائعة مثل الرموز الأخرى، إلا أنها أداة قوية في السيناريوهات الصحيحة.

رمز حالة HTTP 102 Processing هو بقايا رائعة من فترة زمنية محددة في تطوير الويب، مصمم لحل مشكلة ملحة في بروتوكول WebDAV. بينما تم استبداله إلى حد كبير بأنماط غير متزامنة أكثر قابلية للتوسع، إلا أنه يظل جزءًا صالحًا ومفيدًا أحيانًا من مواصفات HTTP.

فهم 102 Processing يمنحك نظرة أعمق في تحديات برمجة الشبكات وتطور تصميم واجهة برمجة التطبيقات. إنه يسلط الضوء على التوتر المستمر بين البساطة المتزامنة وقابلية التوسع غير المتزامنة.

بالنسبة لمعظم التطبيقات الحديثة، فإن نمط 202 Accepted مع الاستعلام أو خطافات الويب هو الخيار الأفضل. ولكن معرفة أن 102 موجود يسمح لك باتخاذ قرار معماري مستنير. وعندما تحتاج إلى اختبار أي سلوك طويل الأمد لواجهة برمجة التطبيقات سواء كانت تستخدم 102 أو 202 أو أي رمز حالة آخر باستخدام أداة قوية مثل Apidog، فستمنحك التحكم والرؤية التي تحتاجها لضمان تجربة مستخدم سلسة وموثوقة، بغض النظر عن المدة التي يستغرقها الطلب، يمكنك محاكاة الطلبات، والتحقق من الاستجابات الوسيطة، وتصحيح أخطاء واجهات برمجة التطبيقات مثل المحترفين.

لا تقرأ عنها فقط، قم بتنزيل Apidog مجانًا وابدأ التجربة اليوم.

button

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات