الرقمُ الأول يقسم المشكلة وحده: فـ4xx يعني أن الطلب كان خاطئًا، و5xx يعني أن الخادم عجز عن الإجابة عن طلبٍ معقول. وذلك وحده يقول لك أيَّ الجانبين تنظر.
ما ستلقاه من 4xx
- 400 — طلبٌ مشوَّه. وهو عادةً ترويسةٌ أو كعكةٌ أكبر من اللازم، لا شفرتك.
- 401 — لم تُوثَّق هويّتك. سجّل الدخول.
- 403 — موثَّقٌ ومع ذلك غير مسموحٍ لك، أو الخادم لا يستطيع قراءة الملفّ.
- 404 — غير موجود. فإن كان ينبغي أن يوجد فالمشتبَه به قاعدةُ إعادة الكتابة لا الملفّ.
- 413 — المرفوع أكبر ممّا يقبله الخادم.
- 429 — حُدَّ معدّلك. فشيءٌ يسأل أكثر من اللازم، وقد يكون كرون عندك أنت.
أمّا 5xx
- 500 — أخطأ تطبيقك. والرسالةُ في السجلّ لا على الصفحة.
- 502 — أعطى ما خلف خادم الويب جوابًا لا يصلح، وهو PHP في الغالب الأعمّ.
- 503 — غير متاحٍ عمدًا، أو نفدت السَّعة.
- 504 — كان ما خلفه لا يزال يعمل حين كفّ خادم الويب عن الانتظار.
اقرأ الرمز الحقيقي لا الصفحة
curl -sI https://yourdomain.com/some/page | head -1
صفحةُ خطأٍ أنيقة تُرجَع برمز 200 أسوأ من الخطأ نفسه: فمحرّكات البحث تفهرسها صفحةً حقيقية، والمراقبةُ التي تفحص 200 لا تُطلق أبدًا. وصفحةُ الخطأ يجب أن تُرجِع رمزها هي.
والاثنان اللذان يهمّان البحث
الصفحةُ التي انتقلت تُرجِع 301 وتنقل مكانتها إلى العنوان الجديد. والصفحةُ التي زالت تُرجِع 410 أو 404. وأمّا تحويلُ كل صفحةٍ محذوفة إلى الرئيسة فيُقرأ خطأً لطيفًا من نوع 404 ولا ينفع أحدًا.
ورمزُ 200 بمتنٍ فارغ علّةٌ قائمة بذاتها — وهي عادةً PHP تموت دون أن تكتب خطأ. فافحص السجلّ لا الصفحة.