در پروتکل HTTP، وضعیتهای مختلفی برای نمایش نحوه پردازش درخواست توسط سرورها وجود دارد. یکی از این وضعیتها، "HTTP 306 (Unused)" است. البته بهتر است اول به شما بگوییم که این وضعیت در واقع یکی از آن وضعیتهای HTTP است که دیگر به کار نمیرود و از نسخههای قبلی HTTP به صورت بسیار محدود استفاده شده است. بگذارید بیشتر توضیح بدهم.
در اصل، وضعیت HTTP 306 (Unused) برای این در نظر گرفته شده بود که نشان دهد درخواست کاربر به طور موقت به یک URL دیگر هدایت شده است؛ به این معنا که یک واسطه (proxy) در جریان درخواست وجود دارد. اما به دلایلی که به وضوح مشخص نیست، این کد وضعیت HTTP هرگز به صورت واقعی استفاده نشد و عملاً دیگر به عنوان بخشی از استاندارد HTTP مطرح نیست.
به این معنا که اگر شما در جایی با کد وضعیت HTTP 306 برخورد کردید، و لزوماً هم برخورد نمیکنید چون به ندرت پیش میآید، باید بدانید که منظور خاصی به جز اینکه "این کد چشمپوشی شده" ندارد. بسیاری از سرورهای مدرن اصلاً این کد وضعیت را تولید نمیکنند چون بیفایده بودن آن مشخص شده است.
استفادههای مرتبط با این کد در سناریوهای واقعی در عمل هیچگاه اجرا نشدهاند، و به همین دلیل است که در مستندات جدیدتر به صراحت از آن یاد نشده است. به طور کلی، کدهای وضعیت HTTP مانند 307 (Temporary Redirect) یا 308 (Permanent Redirect) برای مدیریت هدایتهای مختلف پیشنهاد و استفاده میشوند.
بنابراین، میتوان گفت که وضعیت 306 چیزی بیشتر از یک یادآوری تاریخی در حوزه وضعیتهای HTTP نیست. فهمیدن آن کمکی به رفع هیچ مسئله عملی نمیکند اما گاهی اوقات برای درک بهتر تاریخچه و تکامل استانداردها مفید است.
در ادامه، نگاهی به ساختار دستوری که ممکن بود برای این کار استفاده شود داریم. اما مجدداً باید تأکید کنم که نیازی به استفاده عملی از این کد نیست:
HTTP/1.1 306 Unused
Location: http://www.example.com/redirect_here/
بیایید به صورت خط به خط این کد را بررسی کنیم:
HTTP/1.1 306 Unused
درخواست HTTP بازگشت داده شده به همراه وضعیت 306 که نشاندهنده عدم استفاده است.
Location: http://www.example.com/redirect_here/
این خط نشان میدهد که درخواست باید به کدام URL هدایت شود؛ گرچه در واقع هرگز به بهرهبرداری نرسید.