آشنایی با وضعیت HTTP 308 Permanent Redirect

http status 308 permanent redirect explained
20 آبان 1403

در دنیای برنامه‌نویسی وب، زمانی که سرور یک درخواست را دریافت می‌کند، به کلاینت پاسخی تحت عنوان "HTTP Status Code" برمی‌گرداند. یکی از این کدها وضعیت 308 Permanent Redirect است. این کد نشان می‌دهد که منبع تقاضا شده به طور دائمی به یک URI جدید منتقل شده است. به عبارت دیگر، سرور به کلاینت می‌گوید که منبع مورد درخواست در یک مکان جدید موجود است و باید از این پس از URL جدید استفاده کند.

رویکرد 308 مشابه 301 است، اما تفاوت عمده آن‌ها در این است که 308 دائمی بودن تغییری که در متد HTTP انجام شده است را حفظ می‌کند. به عنوان مثال، اگر درخواست اولیه به صورت POST ارسال شده، در 308 سرور درخواست را با همان متد (POST) به URL جدید منتقل می‌کند، در حالی که در 301 معمولاً به یک GET تبدیل می‌شود.

یکی از استفاده‌های معمول از کد 308 Permanent Redirect، در مواقعی است که می‌خواهید اطمینان حاصل کنید تمامی ترافیک به URL جدید هدایت می‌شود بدون اینکه داده‌ای از دست برود. این قابلیت در موقعیت‌هایی مثل تغییر مسیر صفحاتی که دارای فرم‌های ارسال اطلاعات هستند، اهمیت پیدا می‌کند.

برای اعمال این تغییر در یک سرور، می‌توانید به تنظیمات سرور خود بروید و تغییر مسیر را برای لینک مورد نظر به این شیوه راه‌اندازی کنید. در ادامه یک نمونه کد برای انجام این کار در Apache HTTP Server آورده شده است:


Redirect 308 /old-page https://www.example.com/new-page
    

توضیح کد:

Redirect 308: این خط برای انجام تغییر مسیر با وضعیت 308 مورد استفاده قرار می‌گیرد.
/old-page: مسیر نسبی یا قدیمی که می‌خواهید تغییر مسیر دهید.
https://www.example.com/new-page: آدرس جدیدی که همه درخواست‌ها به آن منتقل می‌شوند.

دقت کنید که در زمان استفاده از این کد، دامین و مسیرهای خود را به درستی جایگزین نمایید تا تغییر مسیر به درستی انجام شود. این روش به مرورگرها و موتورهای جستجو می‌فهماند که مسیر جدید به طور دائمی جایگزین مسیر قبلی شده است.

سوالات متداول

؟

کد وضعیت 308 HTTP چیست؟

؟

چگونه می‌توان کد 308 را در سرور Apache تنظیم کرد؟

؟

تفاوت کد 308 با 301 در چیست؟