گری ایلیس از گوگل به این سوال پاسخ می دهد که کدام کد وضعیت “کمتر مضر است” گری ایلیس از گوگل به این سوال پاسخ داد که استفاده از آن کمتر بدتر است، میلیون ها صفحه خطای ۴۰۴ یا ۳۰۱ تغییر مسیر. پاسخ گری فضا را در مورد نحوه فکر کردن در مورد هر کد وضعیت پاک کرد. سوال ساده بود:
“چه چیزی کمتر مضر است: داشتن میلیون ها صفحه خطای ۴۰۴ یا میلیون ها تغییر مسیر ۳۰۱، جایی که صفحات محصول فروخته شده به صفحه لیست اصلی هدایت می شوند؟”
چه چیزی کمتر مضر است: تغییر مسیر ۳۰۱ یا “صفحات خطای ۴۰۴″؟
پاسخ نیز ساده بود، اگرچه میتوانست به جزئیات بیشتری بپردازد. این پاسخ گری است:
کدهای وضعیت ۴۰۴ کاملاً بی ضرر هستند و ۳۰۱ هم همینطور. شما باید تصمیم بگیرید که چه چیزی برای سناریوی شما بهتر است و با آن پرواز کنید.”
کدهای وضعیت
گری از عبارت “کدهای وضعیت” برای اشاره به پاسخ های ۴۰۴ و ۳۰۱ استفاده می کند. آنها هر دو پاسخ سرور به درخواست یک صفحه وب (که توسط یک مرورگر یا ربات ساخته شده است) هستند. هنگامی که یک مرورگر به یک صفحه وب می رود، کاری که انجام می دهد درخواست یک صفحه وب از سرور است. سرور با پیامی به درخواست مرورگر پاسخ می دهد که وضعیت آن درخواست را مخابره می کند.
به همین دلیل است که گری کدهای ۳۰۱ و ۴۰۴ را کدهای وضعیت نامید . از آنجایی که آنها پاسخ هستند (از سرور به مرورگر)، به آنها کدهای پاسخ نیز می گویند. اما از نظر فنی، آنها کدهای وضعیت هستند، زیرا سازندگان استانداردهای HTML، کنسرسیوم وب جهانی (W3C)، از آنها به عنوان کدهای وضعیت یاد می کنند. پنج نوع کد وضعیت وجود دارد:
“1xx (اطلاعاتی): درخواست دریافت شد، روند ادامه دارد 2xx (موفق): درخواست با موفقیت دریافت، درک و پذیرفته شد 3xx (Redirection): برای تکمیل درخواست باید اقدامات بیشتری انجام شود 4xx (خطای سرویس گیرنده): درخواست حاوی نحو بدی است یا قابل انجام نیست 5xx (خطای سرور): سرور نتوانست درخواست ظاهرا معتبری را انجام دهد.
صفحات خطا/کدهای خطا
سوالی که پرسیده شد به “صفحات خطای ۴۰۴” اشاره داشت، احتمالاً به این دلیل که معمولاً به آنها خطاهای ۴۰۴ می گویند. اما خود صفحات خطا ندارند. اتفاقی که می افتد این است که درخواست برای صفحات وب از دست رفته “نمی توان برآورده شد.” خطایی در یافت نشدن صفحه وجود دارد. اما سرور فقط با کد وضعیت، ۴۰۴ (صفحه یافت نشد) پاسخ می دهد. استفاده رایج از کلمه “خطا” برای اشاره به ۴۰۴ منجر به این باور اشتباه شده است که پاسخ های ۴۰۴ بد هستند.
اما این نادرست است، پاسخ ۴۰۴ نه بد است و نه خوب، فقط پاسخی است که صفحه پیدا نشده است. به گفته W3C:
«کد وضعیت ۴۰۴ (یافت نشد) نشان میدهد که سرور مبدا یک نمایش فعلی برای منبع هدف پیدا نکرده است یا تمایلی به افشای وجود آن ندارد. کد وضعیت ۴۰۴ نشان نمی دهد که آیا این عدم نمایندگی موقتی یا دائمی است؛…”
یکی دیگر از منابع HTML قابل اعتماد و معتبر، Mozilla Web Docs، کد وضعیت ۴۰۴ را اینگونه تعریف می کند:
کد وضعیت پاسخ HTTP 404 Not Found نشان می دهد که سرور نمی تواند منبع درخواستی را پیدا کند. کد وضعیت ۴۰۴ فقط نشان میدهد که منبع از دست رفته است: نه موقتی یا دائمی بودن غیبت.
همه اینها توضیح می دهد که چرا گری ایلیز گفت: ” کدهای وضعیت ۴۰۴ کاملاً بی ضرر هستند ”
نحوه انتخاب کد پاسخ بین ۳۰۱ و ۴۰۴
گری همچنین گفت که ناشر فردی باید انتخاب کند که چه چیزی برای آنها بهتر است. صفحات وب به دلایل مختلفی از بین می روند. اگر صفحه به دلیل ادغام دو سایت وجود نداشته باشد، یک ناشر می تواند ۳۰۱ صفحات قدیمی یا قدیمی را به صفحات جدیدی که از نظر موضوع مشابه هستند هدایت کند. اما اگر صفحاتی با موضوع مشابهی مطابقت نداشته باشند، آن صفحات می توانند به ۴۰۴ پاسخ تبدیل شوند و بگویند که صفحه وجود ندارد.
می توان از کد وضعیت ۴۱۰ برای نشان دادن دائمی بودن حذف استفاده کرد، اما گوگل اساساً با ۴۰۴ و ۴۱۰ تقریباً یکسان رفتار می کند. در پایان، وقتی شک دارید، به این فکر کنید که چه چیزی برای کاربر بهتر است. به عنوان مثال، اگر سایتی را در مورد موضوع K در یک سایت بزرگتر با موضوع A – Z ادغام می کنید، ممکن است تغییر مسیر یک به یک به صفحاتی در سایت بزرگتر که در مورد موضوع D هستند، منطقی باشد.
بقیه صفحاتی که مطابقت یک به یک ندارند می توانند به صفحه دسته بندی اصلی موضوع D در سایت بزرگتر هدایت شوند. یا همانطور که گری گفت، ” شما باید تصمیم بگیرید که چه چیزی برای سناریوی شما بهتر است”
