صفحه باز نمی‌شود، اما از کجا بفهمیم نشانی اشتباه است یا برنامه خراب شده؟ کد وضعیت HTTP یکی از اولین سرنخ‌هاست. این کد نتیجهٔ پردازش درخواست را از نگاه پاسخ‌دهنده توصیف می‌کند؛ به‌تنهایی شرح کامل علت و راه‌حل نیست. دو خطای رایج، 404 و 500، نقطهٔ شروع متفاوتی برای بررسی می‌سازند.

کد وضعیت را کجا ببینیم؟

ابزار توسعه‌دهندهٔ مرورگر را باز کنید، وارد بخش Network شوید و صفحه را دوباره بارگذاری کنید. درخواست سند اصلی را از درخواست تصویر، فونت یا API جدا کنید. ممکن است خود صفحه با 200 دریافت شده باشد، اما یک تصویر 404 بگیرد. در این حالت، گفتن «کل سایت ۴۰۴ شده» تشخیص دقیقی نیست.

خانوادهٔ 2xx معمولاً موفقیت، 3xx تغییرمسیر، 4xx خطاهای مرتبط با درخواست و 5xx خطاهای سمت سرور را توصیف می‌کند. «خطای سمت درخواست» لزوماً یعنی کاربر مقصر است؟ خیر؛ ممکن است خود سایت لینکی اشتباه ساخته باشد.

خطای ۴۰۴ چه می‌گوید؟

404 Not Found یعنی پاسخ‌دهنده، منبع مورد درخواست را پیدا نکرده است. از همین پیام نمی‌توان با قطعیت نتیجه گرفت آن منبع برای همیشه حذف شده یا فقط موقتاً در دسترس نیست.

فرض کنید صفحهٔ مقاله باز می‌شود ولی جلد آن دیده نمی‌شود. در Network، درخواست /uploads/cover.webp را پیدا می‌کنید و وضعیت ۴۰۴ است. در این سناریو ابتدا نشانی فایل، نام واقعی آن، حروف بزرگ و کوچک و مسیر سروکردن فایل را بررسی کنید. تغییر منطق ورود کاربران احتمالاً اولین اقدام مرتبط نیست.

برای یک مسیر صفحه هم همین‌طور فکر کنید: آیا لینکی با نامک قدیمی وجود دارد؟ آیا مسیر روی سرور تعریف شده است؟ آیا پیشوندی در استقرار تغییر کرده؟ هر فرض را با یک نشانی و یک پاسخ مشخص آزمایش کنید.

خطای ۵۰۰ چه می‌گوید؟

500 Internal Server Error یک پاسخ عمومی است: سرور با وضعیتی روبه‌رو شده که مانع انجام درخواست شده است. این کد نمی‌گوید مشکل حتماً از دیتابیس است یا با راه‌اندازی دوباره حل می‌شود. برای علت دقیق باید جزئیات سمت سرور را بررسی کرد.

اگر توسعه‌دهندهٔ سایت هستید، زمان درخواست، مسیر، روش HTTP و شناسهٔ درخواستِ موجود را کنار هم بگذارید و لاگ مربوط را بخوانید. مثلاً اگر فقط صفحهٔ یک مقاله خطا دارد، شاید یک دادهٔ خاص یا رندر آن مسیر مسئله داشته باشد؛ اگر همهٔ مسیرها خطا دارند، دامنهٔ بررسی گسترده‌تر است. این‌ها فرض‌های عیب‌یابی‌اند، نه نتیجه‌ای که خود عدد ۵۰۰ ثابت کند.

دیاگرام درخواست مرورگر و پاسخ سرور با دو شاخهٔ منبع پیدا نشد و خطای داخلی سرور.

مسیر بررسی کوتاه و کاربردی

  1. درخواست ناموفق را دقیق مشخص کنید: سند، فایل یا API؟
  2. نشانی و روش درخواست را ثبت کنید و با حالت موفق مقایسه کنید.
  3. برای ۴۰۴، مسیر و وجود منبع را بررسی کنید؛ برای ۵۰۰، سراغ شواهد سمت سرور بروید.
  4. یک تغییر کوچک انجام دهید و همان درخواست را دوباره آزمایش کنید.
  5. علاوه بر ناپدیدشدن پیام ظاهری، کد پاسخ و محتوای مورد انتظار را هم ببینید.

اگر صرفاً بازدیدکننده هستید، یک بار نشانی را بررسی و بعداً دوباره امتحان کنید؛ برای فرم پرداخت یا عملیاتی که ممکن است دوباره ثبت شود، تکرار بی‌وقفهٔ درخواست انتخاب مناسبی نیست. برای گزارش خطا، نشانی عمومی و زمان رخداد کافی است؛ کوکی ورود یا اطلاعات خصوصی را در پیام عمومی نفرستید.

ظاهر صفحه کافی نیست

یک صفحه می‌تواند متن «پیدا نشد» نشان دهد ولی پاسخ HTTP آن 200 باشد. برعکس، یک صفحهٔ خطای مرتب و زیبا ممکن است واقعاً 500 برگرداند. در بررسی فنی، متن و کد پاسخ را جدا ببینید. برای مطالب مرتبط، بخش توسعه وب کدپین را دنبال کنید.