كيفية إصلاح خطأ حالة HTTP 204 (لا يوجد محتوى)؟
نشرت: 2024-01-26ماذا يعني HTTP 204؟
يشير رمز استجابة HTTP 204 لعدم وجود محتوى إلى أن الخادم قد قام بمهمته من خلال تلبية الطلب، أي الذي أرسله العميل ولكن الخادم لم يعثر على أي محتوى لإرساله مرة أخرى إلى العميل.
بمعنى آخر، يمكنك فهم ذلك لأن الخادم قد أكمل الطلب ولكن الخادم ليس لديه معلومات لإرسالها مرة أخرى ولا يحتاج العميل إلى الابتعاد عن صفحته الحالية.
ملاحظة : يعتبر رمز الحالة HTTP 204 قابلاً للتخزين المؤقت بشكل افتراضي مما يعني أن الخوادم الوكيلة والعملاء لديهم الحرية في تخزين الاستجابات مؤقتًا. أيضًا، قد يتضمن الخادم رأس Etag في هذه الحالة.
قد تكون هناك حالات تريد فيها تجاوز هذا السلوك الافتراضي، وفي هذا الصدد، يمكنك تضمين رؤوس تخزين مؤقت إضافية لـ HTTP في الاستجابة.
مراجع رمز استجابة HTTP 204
- رمز حالة Rails HTTP :no_content
- الصدأ http::StatusCode::NO_CONTENT
- الاستجابة الثابتة لحالة HTTP الخاصة بـ Symfony::HTTP_NO_CONTENT
- انتقل إلى http.StatusNoContent الثابت لحالة HTTP
- Python3.5+ HTTP ثابت الحالة http.HTTPStatus.NO_CONTENT
- .NET HttpStatusCode.NoContent
- جافا java.net.HttpURLConnection.HTTP_NO_CONTENT
- Apache HttpComponents Core org.Apache.hc.core5.http.HttpStatus.SC_NO_CONTENT
- Angular @angular/common/http/HttpStatusCode.NoContent
كيفية حل مشكلة HTTP 204؟
ومع ذلك، فإن رمز حالة HTTP 204 ليس خطأً وقد تم تنفيذه عمدًا لإظهار طلب ناجح حيث قام الخادم بمعالجة طلب العميل ولكن لم يكن لديه محتوى لإرجاعه.
لكن في بعض الأحيان قد يؤدي ذلك عن غير قصد إلى حدوث ذلك فجأة أو قد تراه في موقف غير مناسب. لمعالجة مثل هذا السيناريو، إليك بعض الطرق الضرورية التي يجب عليك مراعاتها.
1. تحقق من تكوينات الخادم
إذا أخطأت في تكوين الخادم الخاص بك، فقد يؤدي ذلك إلى استجابة HTTP 204 غير مقصودة. لذلك، تحتاج إلى التحقق من أن تكوينات الخادم لديك، خاصة تلك المتعلقة بمعالجة استجابات HTTP، تتوافق بشكل صحيح مع متطلبات التطبيق الخاص بك.
ضع في اعتبارك أيضًا التحقق من سجلات أخطاء الخادم للحصول على تفاصيل تفصيلية.
2. استخدم أدوات تحسين محركات البحث (SEO).
نظرًا لأننا ناقشنا بالفعل أنه إذا أعادت عناوين URL رمز استجابة HTTP 204، فلن تقوم محركات البحث بفهرستها، يمكنك استخدام أدوات تحسين محركات البحث المختلفة مثل SEMRUSH أو Screamfrog لاكتشاف رمز استجابة HTTP 204 غير المقصود على موقع الويب الخاص بك والتأكد من ذلك. الصفحة ترجع HTTP 200 بدلاً من ذلك.
3. قم بمراجعة منطق التطبيق الخاص بك
تأكد من أن منطق التطبيق الخاص بك يتوافق بشكل أفضل مع حالة الاستخدام المناسبة لـ HTTP 204. ويجب أن يتناسب مع غرض إظهار رمز الحالة المحدد هذا.
تحقق مما إذا كان المنطق صحيحا؛ على سبيل المثال، إذا كان المحتوى متوقعًا ولكن تم عرض HTTP 204، فتحقق من سبب حدوث ذلك. استمر أيضًا في تحسين التطبيق للحصول على تجربة المستخدم المثالية.
4. إعادة توجيه المستخدمين إلى صفحة المحتوى
إذا كنت تفكر في حذف محتوى أو عنصر وقام بإرجاع رمز استجابة HTTP 204 إلى المستخدمين، فقد يكون لذلك تأثير سلبي عليهم. قد يشعر المستخدمون بالارتباك، مما يقلل في النهاية من تجربة مستخدم موقع الويب بشكل عام. هذا شيء سيء للغاية من وجهة نظر تحسين محركات البحث.
بدلاً من إظهار رمز الاستجابة 204 للمستخدمين، من الأفضل إعادة توجيههم إلى صفحة أكثر فائدة أو نقل رسالة واضحة على نفس الصفحة.
5. التحقيق في طلبات API أو AJAX
في حال كنت تتعامل مع واجهات برمجة التطبيقات أو طلبات AJAX، تأكد من توافق توقعات العميل والخادم.
إذا كان العميل يتوقع محتوى ولكنه يتلقى HTTP 204 بدلاً من ذلك، فتحقق مما إذا كان قد تم ذلك عن قصد أم أن هناك خطأ ما فيه.
6. التأكد من استخدام رموز الحالة المناسبة
في بعض الأحيان، بسبب نوع من الارتباك أو عدم المعرفة برمز حالة HTTP، قد تستخدم رمزًا مختلفًا لسيناريوهات مختلفة. على سبيل المثال، إذا كان العميل يتوقع محتوى، فاجعله 200 موافق أو أي رمز آخر مناسب مناسب بدلاً من استخدام 204 لا يوجد محتوى.
7. التسجيل والمراقبة
حاول تنفيذ التسجيل والمراقبة لـ 204 استجابات. وذلك لأنه يمكن أن يوفر لك رؤى قيمة حول سلوك تطبيق الويب الخاص بك.
ويساعدك أيضًا على تحديد الأنماط والعثور على المشكلات المحتملة ويساعدك أيضًا على إجراء تحسينات في الأداء بالإضافة إلى تجربة المستخدم.
8. راجع الوثائق
يمكنك أيضًا الاطلاع على وثائق الخدمات أو الأطر أو المكتبات التي تستخدمها. ما عليك سوى إلقاء نظرة عليها بعناية ومعرفة ما إذا كانت هناك اعتبارات خاصة لأفضل الممارسات المتعلقة بـ 204 مذكورة أم لا.
لا تنس أنه لا يمكن اتخاذ الإجراء المناسب إلا إذا تم عن غير قصد، ويعتمد أيضًا على السياق المحدد لتطبيقك.
تأثير HTTP 204 لا يوجد محتوى على تحسين محركات البحث
تحتاج أيضًا إلى معرفة التأثيرات التي يمكن أن تحدثها HTTP 204 على تحسين محركات البحث. تحقق من هذا:
1. مشكلة في الفهرسة : نظرًا لأن Http 204 لا يوفر محتوى للفهرسة. يمكن أن يسبب مشاكل إذا كنت تحاول فهرسة عنوان URL.
2. إهدار ميزانية الزحف : قد تتفاجأ عندما تعرف أن كل محرك بحث يخصص ميزانية زحف لكل موقع ويب. إذا لم تتمكن روبوتات محرك البحث من العثور على أي محتوى لفهرسته بشكل متكرر، فسيعطي ذلك إشارة سلبية لها ويمكن أن يقلل ميزانية الزحف الخاصة بك بشكل أكبر.
3. تجربة المستخدم السيئة: نظرًا لأن تجربة المستخدم تلعب أيضًا عاملاً رئيسيًا في تحسين محركات البحث، فإن مواجهة HTTP 204 يمكن أن يكون لها تأثير سلبي عليها. قد يغادر المستخدمون الذين يتوقعون المحتوى الموقع، مما يزيد من معدل الارتداد ويرسل إشارة سلبية إلى محركات البحث.
4. سوء التكوين : من الممكن أيضًا أن يكون الخادم قد تم تكوينه بشكل سيئ عن غير قصد مما يؤدي إلى عدم الفهرسة أو تصنيف الصفحات الرئيسية.
يستخدم البعض سيناريوهات HTTP 204 لا يوجد رمز استجابة للمحتوى
لذا، ربما تتساءل أيضًا، إذا كانت استجابة HTTP 204 مقصودة، فما هي سيناريوهات الاستخدام المحتملة لها؟ حسنًا، للرجوع إليها، تحقق من الحالات الواردة أدناه:
1. حالة الاستخدام: طلب الحذف
لفهم أفضل هنا تحتاج إلى النظر في مثال،
طلب
DELETE https://domain.com/user/666 HTTP/1.1
Host: domain.com
Authorization: Bearer
إجابة
HTTP/1.1 204 No Content
Date: Tue, 16 Jan 2024 12:00:00 GMT
Server: nginx
من المثال أعلاه، يمكنك أن ترى أن العميل يرسل طلب حذف وتمت معالجته بنجاح، مما يشير إلى إزالة مورد المستخدم بالمعرف 666 على خادم domain.com ويستجيب الخادم برمز الحالة 204.
2. حالة الاستخدام: طلب ما بعد
طلب:
POST /job HTTP/1.1
Host: www.domain.re
Content-Type: application/xml
Content-Length: 60
<?xml version="1.0">
<job>
<id>125</id>
<task>G01</task>
</job>
إجابة:
HTTP/1.1 204 No Content
في المثال أعلاه، يمكنك أن ترى أن العميل يرسل طلبًا لبيانات XML إلى الخادم ويحدد أيضًا أن المهمة بحاجة إلى إكمالها. واستجابة لذلك، يوافق الخادم على الطلب ويكمل المهمة.
ومع ذلك، ليست هناك حاجة لإرسال أي شيء مرة أخرى إلى العميل؛ ومن ثم، يتم استخدام رمز حالة عدم وجود محتوى 204.
3. حالة الاستخدام: طلب PUT
لنفترض أنك تستخدم نظام إدارة المحتوى الذي تحتاج إلى إجراء تحديث فيه في مقال على موقع الويب. لهذا، يجب عليك إرسال طلب PUT لتحديث المحتوى بالمعرف 123 لمقالة موجودة. تتضمن حمولة الطلب العنوان والمحتوى المحدثين بتنسيق JSON.
طلب:
PUT /api/articles/123
Content-Type: application/json{
"title": "Updated Title",
"content": "Updated content for the article."
}
إجابة:
HTTP/1.1 204 No Content
Date: Sat, 01 Jan 2024 12:00:00 GMT
وفي هذا الصدد، سيقوم الخادم بمعالجة الطلب وتحديث المقالة بنجاح، ولكن وفقًا لتصميم التطبيق، فبدلاً من الاستجابة برسالة نجاح تقليدية، يستجيب الخادم برمز حالة 204 لا يوجد محتوى.
وبالمثل، يمكن أيضًا استخدام HTTP 204 في التحكم في سلوك التخزين المؤقت بالإضافة إلى تضمين حقول رأس HTTP.
الفرق بين HTTP 204 و 200
قد يتم الخلط بين العديد من الأفراد بين رموز الاستجابة HTTP 204 وHTTP 200 وينتهي بهم الأمر باستخدام رموز غير مناسبة. لذا، فيما يلي جدول مقارنة نهائي مقدم لتوضيح شكوكك بخصوص هذا الأمر.
وجه | HTTP 204 لا يوجد محتوى | HTTP 200 موافق |
---|---|---|
تعريف | نجح الخادم في معالجة الطلب، ولكن لا يوجد محتوى لإرساله في نص الاستجابة. | تم الطلب بنجاح، وقام الخادم بإرجاع البيانات المطلوبة. |
هيئة الاستجابة | لم يتم تضمين أي محتوى في نص الاستجابة. | تتضمن الاستجابة عادةً بيانات، مثل HTML أو JSON أو XML، اعتمادًا على الطلب. |
حالة الاستخدام | يُستخدم عند الإقرار بطلب ناجح لا يتطلب نقل البيانات في الاستجابة. | يستخدم للطلبات الناجحة حيث يقوم الخادم بإرجاع البيانات لتلبية طلب العميل. |
التخزين المؤقت | ليس المقصود من الاستجابة أن يتم تخزينها مؤقتًا. | يمكن تخزين الاستجابات مؤقتًا بناءً على رؤوس ذاكرة التخزين المؤقت التي يوفرها الخادم. |
عمل العميل | ليست هناك حاجة إلى إجراء من جانب العميل، بل هو فقط للاعتراف بالعميل. | يجوز للعميل معالجة البيانات المستلمة أو اتخاذ إجراءات أخرى بناءً على الاستجابة. |
أمثلة | طلب حذف حيث لا يلزم إرسال أي بيانات إضافية. تحديث ناجح لا يتطلب نص استجابة. | تم تحميل صفحة الويب بنجاح. - استرجاع تفاصيل المستخدم من قاعدة البيانات. |
رؤوس مشتركة | نوع المحتوى: غير قابل للتطبيق (لا يوجد محتوى). التحكم في ذاكرة التخزين المؤقت: لا توجد ذاكرة تخزين مؤقت، ولا يوجد تخزين (يقترح عدم التخزين المؤقت). | نوع المحتوى: يحدد نوع الوسائط للبيانات الموجودة في نص الاستجابة. التحكم في ذاكرة التخزين المؤقت: قد يتضمن ذلك توجيهات للتخزين المؤقت. |
عمليات إعادة التوجيه | عادةً، لا يلزم إعادة التوجيه. | قد تحدث إعادة التوجيه إذا تم نقل الخادم أو المورد (على سبيل المثال، باستخدام رمز الحالة 3xx). |
وبالمثل، قد تكون محتارًا بين رموز الاستجابة HTTP 204 و404. راجع جدول المقارنة أدناه للحصول على توضيح في هذا الصدد.
الفرق بين HTTP 204 و 404
وجه | HTTP 204 لا يوجد محتوى | لم يتم العثور على HTTP 404 |
---|---|---|
تعريف | نجح الخادم في معالجة الطلب، ولكن لا يوجد محتوى لإرساله في نص الاستجابة. | تعذر العثور على المورد المطلوب على الخادم. |
هيئة الاستجابة | لم يتم تضمين أي محتوى في نص الاستجابة. | قد يحتوي نص الاستجابة على رسالة سهلة الاستخدام توضح عدم وجود المورد المطلوب. |
حالة الاستخدام | يُستخدم عند الإقرار بطلب ناجح لا يتطلب نقل البيانات في الاستجابة. | يُستخدم للإشارة إلى أن المورد المطلوب غير متوفر أو غير موجود على الخادم. |
عمل العميل | يتم إبلاغ العميل بأن الطلب قد تم بنجاح، ولكن لا يلزم اتخاذ أي إجراء آخر. | ويجوز للعميل اتخاذ الإجراء المناسب، مثل إعلام المستخدم، أو إعادة التوجيه، أو محاولة تقديم طلب بديل. |
أمثلة | طلب حذف حيث لا يلزم إرسال أي بيانات إضافية. تحديث ناجح لا يتطلب نص استجابة. | محاولة الوصول إلى عنوان URL غير موجود. الاستعلام عن مورد تم حذفه أو لم يكن موجودًا على الإطلاق. |
رؤوس مشتركة | نوع المحتوى: غير قابل للتطبيق (لا يوجد محتوى). التحكم في ذاكرة التخزين المؤقت: لا توجد ذاكرة تخزين مؤقت، ولا يوجد تخزين (يقترح عدم التخزين المؤقت). | نوع المحتوى: يعتمد على تكوين الخادم. التحكم في ذاكرة التخزين المؤقت: قد يشير هذا إلى عدم التخزين المؤقت إذا لم يتم العثور على المورد في الطلبات اللاحقة. |
عمليات إعادة التوجيه | عادةً، لا يلزم إعادة التوجيه. | قد تحدث إعادة التوجيه إذا تم نقل الخادم أو المورد (على سبيل المثال، باستخدام رمز الحالة 3xx). |
اقرأ: كيفية إصلاح خطأ 404 لم يتم العثور على موقع WordPress وAndroid؟
خاتمة
HTTP 204 لا يوجد محتوى هو مجرد رمز استجابة على عكس رموز خطأ HTTP الأخرى، مما يشير إلى أن الخادم قد نجح في معالجة الطلب ولكن لا يوجد محتوى لإظهاره في الاستجابة.
قد يبدو الأمر مشابهًا لخطأ 404 لم يتم العثور على خطأ، ولكنه مختلف تمامًا وله سيناريو استخدام مختلف. ولكن مهما كان الأمر، إذا تمت إساءة استخدامه أو تكوينه بشكل خاطئ، فلا تنس أنه من الممكن أن يضر أيضًا بـ SEO الخاص بك.
أسئلة مكررة
ماذا يعني HTTP 204؟
يشير رمز استجابة HTTP 204 لعدم وجود محتوى إلى أن الخادم قد قام بمهمته من خلال تلبية الطلب، أي الذي أرسله العميل ولكن الخادم لم يعثر على أي محتوى لإرساله مرة أخرى إلى العميل.
ما الفرق بين HTTP 304 و204؟
بينما يشير كلا رمزي الحالة 304 و204 إلى المواقف التي لا يتم فيها إرسال محتوى جديد في نص الاستجابة. يركز HTTP 304 بشكل أكبر على التخزين المؤقت والطلبات المشروطة، بينما يعد HTTP 204 مؤشرًا عامًا للمعالجة الناجحة دون محتوى إضافي.
ما هو حذف رمز 204؟
تشير حالة 204 لا يوجد حذف للمحتوى إلى أن الخادم نجح في معالجة طلب حذف مورد، ولكن لا يوجد محتوى إضافي ليتم إرساله في نص الاستجابة. فهو يشير إلى أن عملية الحذف كانت ناجحة، وليس هناك حاجة لإرجاع أي بيانات في الرد.
راهول كومار هو أحد عشاق الويب وخبير استراتيجي للمحتوى متخصص في WordPress واستضافة الويب. بفضل سنوات من الخبرة والالتزام بالبقاء على اطلاع بأحدث اتجاهات الصناعة، قام بإنشاء استراتيجيات فعالة عبر الإنترنت تعمل على زيادة حركة المرور وتعزيز المشاركة وزيادة التحويلات. إن اهتمام راهول بالتفاصيل وقدرته على صياغة محتوى جذاب يجعله رصيدًا قيمًا لأي علامة تجارية تتطلع إلى تحسين تواجدها عبر الإنترنت.