HTTP रीडायरेक्ट्स उपयोगकर्ताओं और सर्च इंजनों को उस URL से अलग URL पर भेजने का एक तरीका है जिसका उन्होंने मूल रूप से अनुरोध किया था। यह सर्वर द्वारा क्लाइंट (ब्राउज़र) को एक विशिष्ट HTTP स्टेटस कोड भेजकर किया जाता है, जो फिर क्लाइंट को नए URL पर एक नया अनुरोध करने का निर्देश देता है। विभिन्न प्रकार इस प्रकार काम करते हैं:
1. 301 Moved Permanently (स्थायी रूप से स्थानांतरित) उद्देश्य: यह इंगित करता है कि अनुरोधित संसाधन को स्थायी रूप से एक नए URL पर स्थानांतरित कर दिया गया है। व्यवहार: ब्राउज़र स्वचालित रूप से नए URL पर रीडायरेक्ट कर देगा और, महत्वपूर्ण रूप से, यह आमतौर पर इस रीडायरेक्ट को कैश कर लेगा। इसका मतलब है कि मूल URL के लिए बाद के अनुरोध सीधे नए URL पर जाएँगे, बिना पहले पुराने URL पर जाएँ। सर्च इंजन भी अपने इंडेक्स को नए URL की ओर इंगित करने के लिए अपडेट करते हैं। विधि परिवर्तन: मूल अनुरोध में उपयोग की गई HTTP विधि (जैसे, GET, POST) रीडायरेक्ट किए गए अनुरोध में POST से GET में बदल सकती है, हालांकि आधुनिक ब्राउज़र अक्सर 301 के लिए विधि को संरक्षित रखते हैं।
उपयोग के मामले: जब किसी पेज का नया स्थायी पता हो, डोमेन नाम बदल रहे हों, या HTTPS लागू किया जा रहा हो। 2. 302 फाउंड (अस्थायी रूप से स्थानांतरित) उद्देश्य: यह इंगित करता है कि अनुरोधित संसाधन अस्थायी रूप से एक अलग URL पर स्थित है। सर्वर यह उम्मीद करता है कि क्लाइंट भविष्य के अनुरोधों के लिए मूल URL का उपयोग जारी रखेगा। व्यवहार: ब्राउज़र नए URL पर रीडायरेक्ट करता है, लेकिन यह रीडायरेक्ट को कैश नहीं करता है। मूल URL पर भविष्य के अनुरोध अभी भी मूल सर्वर पर जाएंगे, जो फिर से 302 रीडायरेक्ट जारी करेगा। सर्च इंजन आम तौर पर 302 रीडायरेक्ट के लिए अपने इंडेक्स को अपडेट नहीं करते हैं। उपयोग के मामले: जब किसी पेज का एक नया स्थायी पता हो, डोमेन नाम बदल रहे हों, या HTTPS लागू किया जा रहा हो। 2. 302 फाउंड (अस्थायी रूप से स्थानांतरित) उद्देश्य: यह इंगित करता है कि अनुरोधित संसाधन अस्थायी रूप से एक अलग URL पर स्थित है। विधि परिवर्तन: ऐतिहासिक रूप से, ब्राउज़र रीडायरेक्ट किए गए अनुरोध के लिए HTTP विधि को POST से GET में बदल देते थे, भले ही मूल अनुरोध POST ही क्यों न हो। यह व्यवहार अभी भी आम है। उपयोग के मामले: A/B परीक्षण, या जब कोई पेज एक नए स्थायी पते पर स्थानांतरित हो जाता है। व्यवहार: ब्राउज़र नए URL पर रीडायरेक्ट करता है, लेकिन यह रीडायरेक्ट को कैश नहीं करता है। मूल URL पर भविष्य के अनुरोध अभी भी मूल सर्वर पर जाएंगे, जो फिर से 302 रीडायरेक्ट जारी करेगा। सर्च इंजन आम तौर पर 302 रीडायरेक्ट के लिए अपने इंडेक्स को अपडेट नहीं करते हैं। उपयोग के मामले: जब किसी पेज का एक नया स्थायी पता हो, डोमेन नाम बदल रहे हों, या HTTPS लागू किया जा रहा हो। 2. 302 फाउंड (अस्थायी रूप से स्थानांतरित) उद्देश्य: यह इंगित करता है कि अनुरोधित संसाधन अस्थायी रूप से एक अलग URL पर स्थित है।
विधि परिवर्तन: ऐतिहासिक रूप से, ब्राउज़र रीडायरेक्ट किए गए अनुरोध के लिए HTTP विधि को POST से GET में बदल देते थे, भले ही मूल अनुरोध POST ही क्यों न हो। यह व्यवहार अभी भी आम है। उपयोग के मामले: ए/बी परीक्षण, अस्थायी लैंडिंग पेज, या जब कोई संसाधन अपने सामान्य स्थान पर अस्थायी रूप से अनुपलब्ध हो।
3. 307 अस्थायी रीडायरेक्ट (Temporary Redirect) उद्देश्य: 302 के समान, यह इंगित करता है कि अनुरोधित संसाधन अस्थायी रूप से एक अलग URL पर स्थित है। मुख्य अंतर यह है कि यह HTTP मेथड को कैसे संभालता है।
व्यवहार: ब्राउज़र नए URL पर रीडायरेक्ट करता है और रीडायरेक्ट को कैश नहीं करता है। विधि संरक्षण: महत्वपूर्ण रूप से, एक 307 रीडायरेक्ट स्पष्ट रूप से गारंटी देता है कि मूल अनुरोध में उपयोग की गई HTTP विधि (जैसे, GET, POST, PUT) रीडायरेक्ट किए गए अनुरोध के लिए संरक्षित की जाएगी। यदि मूल अनुरोध POST था, तो पुनर्निर्देशित अनुरोध भी POST ही होगा। उपयोग के मामले: जब आपको एक अस्थायी पुनर्निर्देशन की आवश्यकता हो और मूल HTTP विधि को संरक्षित रखना महत्वपूर्ण हो, जैसे कि फ़ॉर्म सबमिशन के साथ। जब विधि संरक्षण महत्वपूर्ण होता है, तो यह 302 का एक अधिक अर्थपूर्ण रूप से सही विकल्प है।