HTTP রিডাইরেক্টগুলো আসলে কীভাবে কাজ করে (301 বনাম 302 বনাম 307)

সাধারণ HTTP রিডাইরেক্ট স্ট্যাটাস কোডগুলির কার্যকারিতা এবং ব্যবহারের ক্ষেত্রে ব্যাখ্যা করে: │ 301 (স্থায়ীভাবে স্থানান্তরিত), 302 (মিলিত/অস্থায়ীভাবে স্থানান্তরিত), এবং 307 (অস্থায়ী রিডাইরেক্ট)।

Beginner
HTTP রিডাইরেক্ট হল একটি উপায় যা ব্যবহারকারী এবং সার্চ ইঞ্জিনকে তারা যে URLটি প্রথমে অনুরোধ করেছিল তার থেকে ভিন্ন একটি URL-এ পাঠায়। এটি সার্ভার ক্লায়েন্ট (ব্রাউজার)-কে একটি নির্দিষ্ট HTTP স্ট্যাটাস কোড পাঠিয়ে করে, যা তারপর ক্লায়েন্টকে নতুন URL-এ একটি নতুন অনুরোধ করতে নির্দেশ দেয়। বিভিন্ন ধরনের রিডাইরেক্ট কীভাবে কাজ করে তা এখানে দেওয়া হল: ১. ৩০১ স্থায়ীভাবে স্থানান্তরিত (Moved Permanently) উদ্দেশ্য: নির্দেশ করে যে অনুরোধকৃত রিসোর্স স্থায়ীভাবে একটি নতুন URL-এ স্থানান্তরিত হয়েছে। আচরণ: ব্রাউজার স্বয়ংক্রিয়ভাবে নতুন URL-এ পুনঃনির্দেশ করবে এবং, গুরুত্বপূর্ণভাবে, সাধারণত এই পুনঃনির্দেশ ক্যাশ (cache) করে রাখে। এর মানে হল যে মূল URL-এ পরবর্তী অনুরোধগুলো পুরনো URL-এ না গিয়ে সরাসরি নতুন URL-এ যাবে। সার্চ ইঞ্জিনগুলোও তাদের ইনডেক্স আপডেট করে নতুন URL-এ নির্দেশ করে। * পদ্ধতি পরিবর্তন: মূল অনুরোধে ব্যবহৃত HTTP পদ্ধতি (যেমন, GET, POST) পুনঃনির্দেশিত অনুরোধে POST থেকে GET-এ পরিবর্তিত হতে পারে, যদিও আধুনিক ব্রাউজারগুলো প্রায়ই 301-এর জন্য পদ্ধতিটি সংরক্ষণ করে।* ব্যবহারের ক্ষেত্রে: যখন কোনো পৃষ্ঠার নতুন স্থায়ী ঠিকানা থাকে, ডোমেইন নাম পরিবর্তন করা হয়, বা HTTPS প্রয়োগ করা হয়। ২. 302 Found (অস্থায়ীভাবে স্থানান্তরিত) উদ্দেশ্য: নির্দেশ করে যে অনুরোধকৃত রিসোর্সটি অস্থায়ীভাবে অন্য URL-এ অবস্থিত। সার্ভার আশা করে যে ক্লায়েন্ট ভবিষ্যতের অনুরোধগুলির জন্য মূল URL ব্যবহার চালিয়ে যাবে। * **আচরণ:** ব্রাউজার নতুন URL-এ পুনঃনির্দেশ করে, তবে এটি পুনঃনির্দেশ ক্যাশ করে না। মূল URL-এ ভবিষ্যতের অনুরোধগুলি এখনও মূল সার্ভারে যাবে, যা আবার 302 পুনঃনির্দেশ ইস্যু করবে। সার্চ ইঞ্জিনগুলি সাধারণত 302 পুনঃনির্দেশের জন্য তাদের সূচক আপডেট করে না।* * **ব্যবহারের ক্ষেত্রে:** A/B পরীক্ষা, যেখানে একটি পৃষ্ঠার নতুন স্থায়ী ঠিকানা থাকে, ডোমেইন নাম পরিবর্তন, বা HTTPS প্রয়োগ।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** A/B পরীক্ষা, যেখানে একটি পৃষ্ঠার নতুন স্থায়ী ঠিকানা থাকে, ডোমেইন নাম পরিবর্তন, বা HTTPS প্রয়োগ।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমেইন নাম পরিবর্তন হচ্ছে, বা HTTPS প্রয়োগ করা হচ্ছে।* * **উদাহরণ:** একটি পৃষ্ঠা একটি নতুন স্থায়ী ঠিকানায় চলে গেছে, ডোমে **মেথড পরিবর্তন:** ঐতিহাসিকভাবে, ব্রাউজারগুলো পুনঃনির্দেশিত অনুরোধের জন্য HTTP মেথড POST থেকে GET-এ পরিবর্তন করতো, এমনকি মূল অনুরোধ POST হলেও। এই আচরণ এখনও সাধারণ। **ব্যবহারের ক্ষেত্রে:** A/B টেস্টিং, অস্থায়ী ল্যান্ডিং পেজ, অথবা যখন কোনো রিসোর্স তার স্বাভাবিক অবস্থানে অস্থায়ীভাবে অনুপলব্ধ থাকে। ৩. ৩০৭ অস্থায়ী রিডাইরেক্ট (307 Temporary Redirect) উদ্দেশ্য: ৩০২-এর মতো, এটি নির্দেশ করে যে অনুরোধকৃত রিসোর্সটি অস্থায়ীভাবে অন্য URL-এ অবস্থিত। মূল পার্থক্য হল এটি HTTP মেথড কীভাবে পরিচালনা করে। **আচরণ:** ব্রাউজার নতুন URL-এ পুনঃনির্দেশ করে এবং পুনঃনির্দেশটি ক্যাশ করে না। **মেথড সংরক্ষণ:** গুরুত্বপূর্ণভাবে, 307 পুনঃনির্দেশ স্পষ্টভাবে গ্যারান্টি দেয় যে মূল অনুরোধে ব্যবহৃত HTTP মেথড (যেমন GET, POST, PUT) পুনঃনির্দেশিত অনুরোধের জন্য সংরক্ষিত থাকবে। যদি মূল অনুরোধটি POST হয়, তাহলে পুনঃনির্দেশিত অনুরোধটিও POST হবে। ব্যবহারের ক্ষেত্রে: যখন আপনাকে অস্থায়ী পুনঃনির্দেশ প্রয়োজন এবং মূল HTTP পদ্ধতি সংরক্ষণ করা অত্যন্ত গুরুত্বপূর্ণ, যেমন ফর্ম জমা দেওয়ার সময়। পদ্ধতি সংরক্ষণ গুরুত্বপূর্ণ হলে এটি 302-এর তুলনায় আরও অর্থগতভাবে সঠিক বিকল্প।