HTTP 301 बनाम 302 रीडायरेक्ट: अंतर क्या है?
स्क्रापलेस यूनिवर्सल स्क्रैपिंग API सार्वजनिक वेब पृष्ठों को प्राप्त करता है और कार्यप्रवाहों के लिए अंतिम पृष्ठ सामग्री को उजागर करता है जिन्हें HTTP रीडायरेक्ट का पालन और मान्य करना आवश्यक है।
TL;DR
- HTTP 301 बनाम 302 रीडायरेक्ट: अंतर क्या है इसकी एक निश्चित तकनीकी सीमा है। एक रीडायरेक्ट केवल एक नेविगेशन ट्रिक नहीं है। यह संसाधन के कैनोनिकल स्थान और अपेक्षित भविष्य की स्थिति के बारे में मेटाडेटा है। खोज प्रणाली स्थायी रीडायरेक्ट को एक मजबूत कैनोनिकलाइजेशन सिग्नल के रूप में मान सकती है, जबकि अस्थायी रीडायरेक्ट आमतौर पर पुराने URL को अपेक्षित दीर्घकालिक पते के रूप में बनाए रख सकते हैं। क्लाइंट और कैश भी स्थायी मैपिंग को और अधिक आक्रामकता से बनाए रख सकते हैं।
- 302 पर छोड़ी गई स्थायी माइग्रेशन एक आम कारण है। एक अस्थायी संकेत अवशेष स्थानांतरण, URL साफ़ करने, या सेवानिवृत्त पथ के लिए लंबे समय तक रहता है जब तक कि पुराना स्थान वापस नहीं आएगा। खोज और कैश व्यवहार अपेक्षित से कम निर्णायक रह सकता है।
- विधि सुरक्षा अगला सुरक्षित कदम बदलती है। क्लाइंट को मूल HTTP विधि और अनुरोध शरीर को बनाए रखते हुए अस्थायी रीडायरेक्ट के लिए 307 का उपयोग करें और स्थायी रीडायरेक्ट के लिए 308 का उपयोग करें।
- एक स्थायी प्रतिस्थापन के लिए 301 का उपयोग करें। डोमेन माइग्रेशन, स्थायी स्लग परिवर्तन, और कैनोनिकल URL सामान्य रूप से इस सिग्नल में फिट होते हैं।
- स्वचालित संग्रह में रीडायरेक्ट के लिए स्पष्ट वर्गीकरण की आवश्यकता होती है। रीडायरेक्ट के बाद किसी अप्रासंगिक होस्ट पर क्रेडेंशियल्स ले जाने के लिए न करें। अधिकृत सीमाओं, साइट की शर्तों और लागू कानून का सम्मान करें, और रीडायरेक्टेड पहुंच-निषेध या त्रुटि पृष्ठों को निकाले गए डेटासेट से बाहर रखें।
स्थायीता मुख्य अंतर है, गंतव्य नहीं
एक 301 और 302 एक ब्राउज़र को एक ही गंतव्य पर भेज सकते हैं, इसलिए दृश्य अनुभव समान लग सकता है। शब्दार्थ संदेश अलग है। एक 301 कहता है कि संसाधन का नया स्थायी URI है, जबकि 302 कहता है कि अनुरोधित संसाधन एक अन्य URI पर अस्थायी रूप से उपलब्ध है।
यह अंतर कैशेज, ग्राहकों, खोज इंजनों, विश्लेषिकी, और भविष्य के रखरखाव को प्रभावित करता है। एक स्थायी साइट माइग्रेशन को महीनों तक अस्थायी संकेत पर निर्भर नहीं होना चाहिए। एक छोटा रखरखाव मार्ग हर उपभोक्ता को यह नहीं बताना चाहिए कि पुराना पता हमेशा के लिए बदल गया है।
रीडायरेक्ट व्यवहार में विधि-इतिहास की एक जटिलता भी होती है। उपयोगकर्ता एजेंट पारंपरिक रूप से कुछ POST अनुरोधों को 301 या 302 के बाद GET में बदल देते हैं। आधुनिक HTTP तब 307 और 308 प्रदान करता है जब अनुरोध विधि और शरीर को बनाए रखना आवश्यक हो। इसलिए, रीडायरेक्ट चयन को दो निर्णयों की आवश्यकता होती है: स्थायी या अस्थायी, और विधि-परिवर्तन व्यवहार की अनुमति या विधि का संरक्षण आवश्यक।
301 बनाम 302 के लिए प्रत्यक्ष नियम
लक्ष्य URI को भविष्य के संदर्भों के लिए पुराने URI को प्रतिस्थापित करना चाहिए, ऐसा होना चाहिए जब 301 स्थायी रूप से स्थानांतरित हो, और जब वैकल्पिक स्थान अस्थायी हो तो 302 पाया गया का उपयोग करें। HTTP सेमान्टिक्स मानक दोनों प्रतिक्रियाओं को परिभाषित करता है और रीडायरेक्ट लक्ष्यमान को स्थान मूल्य में ले जाने की आवश्यकता होती है।
एक रीडायरेक्ट केवल एक नेविगेशन ट्रिक नहीं है। यह संसाधन के कैनोनिकल स्थान और अपेक्षित भविष्य की स्थिति के बारे में मेटाडेटा है। खोज प्रणाली स्थायी रीडायरेक्ट को एक मजबूत कैनोनिकलाइजेशन सिग्नल के रूप में मान सकती है, जबकि अस्थायी रीडायरेक्ट आमतौर पर पुराने URL को अपेक्षित दीर्घकालिक पते के रूप में बनाए रख सकते हैं। क्लाइंट और कैश भी स्थायी मैपिंग को और अधिक आक्रामकता से बनाए रख सकते हैं।
स्थान हेडर आने के बाद क्या होता है
क्लाइंट पुराने URL को अनुरोध करता है और एक स्थान मूल्य के साथ 3xx स्थिति प्राप्त करता है। यह उस मान को हल करता है, रीडायरेक्ट नीति लागू करता है, और एक और अनुरोध जारी करता है। प्रत्येक हॉप योजना, होस्ट, पथ, क्वेरी, कुकीज़, प्रमाणीकरण क्षेत्र, और विधि व्यवहार को बदल सकता है, इसलिए पूरी श्रृंखला मायने रखती है।
साधारण GET नेविगेशन के लिए, 301 और 302 अक्सर पर्यायवाची दिखाई देते हैं। गैर-GET अनुरोधों के लिए, ऐतिहासिक ब्राउज़र व्यवहार फॉलो-अप अनुरोध को GET में परिवर्तित कर सकता है। यह एक फॉर्म सबमिशन के बाद स्वीकार्य हो सकता है जो एक केवल पढ़ने वाले पुष्टिकरण पृष्ठ पर लैंड करना चाहिए, लेकिन यह एक API ऑपरेशन के लिए असुरक्षित है जिसमें शरीर के बिना गंतव्य पर पहुंचना चाहिए।
खोज क्रॉलर्स कोड से अधिक चीजों का मूल्यांकन करते हैं। गंतव्य प्रासंगिकता, श्रृंखला की लंबाई, आंतरिक लिंक, कैनोनिकल टैग, साइटमैप प्रविष्टियां, और रीडायरेक्ट का समय के साथ बने रहने की स्थिति सभी समेकन को प्रभावित करती हैं। एक तकनीकी रूप से मान्य 301 एक अप्रासंगिक होमपेज पर फिर भी एक गरीब माइग्रेशन या एक नरम त्रुटि की तरह व्यवहार कर सकता है।
| आयाम | संकेत ए | संकेत बी |
|---|---|---|
| इच्छित अवधि | स्थायी स्थानांतरण | अस्थायी वैकल्पिक स्थान |
| स्थिति | 301 स्थायी रूप से स्थानांतरित | 302 पाया गया |
| कैनोनिकल अपेक्षा | नया URL पुराने URL को प्रतिस्थापित करना चाहिए | पुराना URL अपेक्षित घर बना रहता है |
| विधि इतिहास | POST GET बन सकता है | POST GET बन सकता है |
जहां रीडायरेक्ट कार्यान्वयन गलत हो जाते हैं
अधिकतर रीडायरेक्ट दोष गलत स्थायित्व, अनियंत्रित श्रृंखलाएं, विधि परिवर्तन, या एक गंतव्य से आते हैं जो पुराने संसाधन से मेल नहीं खाता।
302 पर छोड़ी गई स्थायी माइग्रेशन
एक अस्थायी संकेत अवशेष स्थानांतरण, URL साफ़ करने, या सेवानिवृत्त पथ के लिए लंबे समय तक रहता है जब तक कि पुराना स्थान वापस नहीं आएगा। खोज और कैश व्यवहार अपेक्षित से कम निर्णायक रह सकता है।
अस्थायी प्रयोग 301 के रूप में भेजा गया
एक A/B मार्ग, क्षेत्रीय स्विच, या रखरखाव पृष्ठ को स्थायी के रूप में चिह्नित किया गया है। ग्राहक प्रयोग समाप्त होने के बाद अभ्यस्तता बनाए रख सकते हैं, जिससे वापस लौटना कठिन हो जाता है।
POST विधि अप्रत्याशित रूप से बदल गई
एक ग्राहक GET के साथ 301 या 302 का पालन करता है, इसलिए गंतव्य कभी मूल सामग्री प्राप्त नहीं करता है। API जिन्हें विधि संरक्षण की आवश्यकता होती है, उन्हें 307 या 308 का उपयोग करना चाहिए।
पुनर्निर्देशन श्रृंखला जमा हो गई
HTTP-से-HTTPS, होस्ट सामान्यीकरण, स्थानीय चयन, और पथ प्रवासन कई हॉप्स में संकुल हो सकते हैं। प्रत्येक अतिरिक्त यात्रा यात्रा देरी और विफलता का एक और बिंदु जोड़ता है।
गंतव्य अप्रासंगिक है
कई हटा दिए गए पृष्ठ होमपेज या व्यापक श्रेणी की ओर इशारा करते हैं, चाहे इरादा कुछ भी हो। उपयोगकर्ता संदर्भ खो देते हैं, और खोज प्रणाली इसे सॉफ्ट त्रुटि के रूप में मान सकती हैं।
आंतरिक संदर्भ अभी भी पुरानी URL का उपयोग करते हैं
नेविगेशन, कैनोनिकल, साइटमैप, फ़ीड, और API ग्राहक अभी भी पुनर्निर्देशन के माध्यम से प्रवेश करते हैं, बजाय इसके कि सीधे अंतिम कैनोनिकल स्थान को लिंक करें।
पूरा पुनर्निर्देशन श्रृंखला ऑडिट करें
एक पुनर्निर्देशन तब सही होता है जब इसकी स्थिति, गंतव्य, विधि व्यवहार, और आस-पास के कैनोनिकल संकेत इच्छित स्थानांतरित करना के साथ सहमत होते हैं।
- इरादे को स्पष्ट करें। लिखें कि क्या पुरानी URL लौटेगी, क्या गंतव्य एक समकक्ष संसाधन है, और क्या गैर-GET विधियों को संरक्षित किया जाना चाहिए।
- हर हॉप को कैप्चर करें। स्थिति, स्थान, विधि, होस्ट, योजना, पथ, और समय को रिकॉर्ड करें जब तक अंतिम गैर-पुनर्निर्देशित प्रतिक्रिया नहीं मिलती।
- गंतव्य सामग्री की जांच करें। इसकी पुष्टि करें कि अंतिम पृष्ठ पुरानी URL के उद्देश्यों को संतोषजनक बनाता है, केवल 200 लौटाने के बजाय।
- विधि व्यवहार का परीक्षण करें। एक गैर-विनाशकारी अंत बिंदु का उपयोग करें यह सत्यापित करने के लिए कि क्या ग्राहक विधि और सामग्री को चयनित स्थिति के पार संरक्षित करता है या बदलता है।
- कैनोनिकल संकेतों को समन्वयित करें। अंतिम URL के बजाय आंतरिक लिंक, कैनोनिकल टैग, hreflang, साइटमैप प्रविष्टियों, और फ़ीड को अपडेट करें, बजाय इसके कि पुनर्निर्देशन पर स्थायी प्लम्बिंग होने पर भरोसा करें।
- लूप और लंबे श्रृंखलाओं को हटा दें। हर एक पुरानी URL को सीधे इसके अंतिम गंतव्य की ओर इशारा करें और विशेष रूप से क्वेरी-स्ट्रिंग हैंडलिंग का परीक्षण करें।
- पुराने और नए URLs पर नज़र रखें। क्राल गतिविधि, गंतव्य स्थिति, अनुक्रमण, और रिलीज के बाद अप्रत्याशित 404 या सॉफ्ट-त्रुटि व्यवहार को ट्रैक करें।
प्रोटोकॉल की व्याख्या में HTTP के अर्थ, विस्तृत 301 व्यवहार में MDN का 301 संदर्भ, और 302 व्यवहार में MDN का 302 संदर्भ एक इरादे-प्रथम ऑडिट का समर्थन करें।
सही पुनर्निर्देशन चुनना
सही स्थिति आंदोलन के जीवन का अनुसरण करती है और आवश्यक अनुरोध-विधि व्यवहार का पालन करती है।
- स्थायी प्रतिस्थापन के लिए 301 का उपयोग करें। डोमेन प्रवासन, स्थायी स्लग परिवर्तन, और कैनोनिकल URL सामान्यीकरण सामान्यतः इस संकेत में फिट होते हैं।
- अल्पकालिक वैकल्पिक स्थान के लिए 302 का उपयोग करें। रखरखाव, अस्थायी मार्ग, और उलटे प्रयोग तब समझते हैं जब पुरानी URL कैनोनिकल रहती है।
- जब विधि संरक्षण महत्वपूर्ण है, तो 307 या 308 का उपयोग करें। अस्थायी या स्थायी व्याख्याएं चुनें बिना POST को GET में परिवर्तित होने की अनुमति दिए।
- गंतव्य की ओर सीधे लिंक करें। एक बार जब आंदोलन ज्ञात हो जाता है, आंतरिक संदर्भों को अपडेट करें ताकि उपयोगकर्ता और क्रॉलर अनावश्यक हॉप्स से बच सकें।
महत्वपूर्ण प्रवासन और SEO चेक
खोज प्रवासन की गुणवत्ता गंतव्य समकक्षता और स्थायी साइट संकेतों पर निर्भर करती है, न कि केवल स्थिति कोड पर।
एक स्थायी स्थानांतरण के लिए, Google सर्वर-साइड स्थायी पुनर्निर्देशों को एक मजबूत संकेत के रूप में प्रलेखित करता है कि लक्ष्य को कैनोनिकल बनाना चाहिए इसके पुनर्निर्देशन के मार्गदर्शन में।पुराने मैपिंग को पर्याप्त समय तक बनाए रखें ताकि उपयोगकर्ता, क्रॉलर और बाहरी लिंक संक्रमण कर सकें, और असंबंधित यूआरएल को एक सामान्य पृष्ठ पर पुनर्निर्देशित करने से बचें।
साइटमैप और सभी आंतरिक लिंक को अंतिम यूआरएल पर अपडेट करें। कैनोनिकल और एचआरईएफ़लैंग संदर्भ भी पहुंच योग्य अंतिम पृष्ठों की ओर संकेत करने चाहिए। यदि उन संकेतों के बीच असहमति है, तो एक क्रॉलर को यह तय करने में समय बिताना होगा कि कौन सा स्थान सामग्री का प्रतिनिधित्व करता है।
प्रत्येक राउटिंग परिवर्तन के बाद श्रृंखला को मापें। होस्ट सामान्यीकरण और HTTPS अपग्रेड को संभव हो तो सामग्री प्रवासन के साथ एक ही प्रत्यक्ष हॉप में समाहित किया जाना चाहिए। केवल तब क्वेरी पैरामीटर को बनाए रखें जब वे अर्थपूर्ण बने रहें और डुप्लिकेट गंतव्यों का निर्माण न करें।
पुनर्निर्देशन निर्णय तालिका
स्थायित्व और विधि का संरक्षण चार सामान्य विकल्प उत्पन्न करता है।
| मामला | अर्थ | अनुशंसित प्रतिक्रिया |
|---|---|---|
| स्थायी, GET नेविगेशन | नया URI पुराने URI को बदलता है | 301 |
| अस्थायी, GET नेविगेशन | पुराना URI दीर्घकालिक पता बना रहता है | 302 |
| स्थायी, विधि को बनाए रखें | नया URI विधि को बदले बिना पुराने URI को बदलता है | 308 |
| अस्थायी, विधि को बनाए रखें | विधि को बदले बिना अस्थायी वैकल्पिक | 307 |
स्वचालित संग्रह में पुनर्निर्देशित
एक संग्रहकर्ता उपयोग कर रहा है Scrapeless Universal Scraping API दोनों अनुरोधित और अंतिम यूआरएल को संग्रहीत करना चाहिए। पुनर्निर्देशित करना रिकवरी के लिए आवश्यक है, लेकिन उन्हें चुपचाप समेटना प्रवासन, स्थानिक रूटिंग, लॉगिन डिटॉर्स, और सॉफ्ट-एरर गंतव्यों के बारे में सबूत को हटा देता है।
एक सीमित हॉप सीमा सेट करें, लूप का पता लगाएं, और अंतिम शरीर को मान्य करें। प्रत्येक स्थिति और स्थान को रिकॉर्ड करें ताकि एक कैनोनिकलाइजेशन नौकरी स्रोत यूआरएल को अपडेट कर सके। यदि एक स्थायी पुनर्निर्देशन लगातार एक समकक्ष पृष्ठ पर उतरता है, तो संग्रह मैनिफेस्ट अंतिम यूआरएल को गोद ले सकता है; एक अस्थायी पुनर्निर्देशन को मूल पहचान को बनाए रखना चाहिए।
पुनर्निर्देशन के बाद एक असंबंधित होस्ट पर क्रेडेंशियल न ले जाएं। प्राधिकरण सीमाओं, साइट की शर्तों और लागू कानूनों का सम्मान करें, और पुनर्निर्देशित एक्सेस-निषिद्ध या त्रुटि पृष्ठों को निकाले गए डेटासेट से बाहर रखें।
इरादे द्वारा चुनें, फिर श्रृंखला की पुष्टि करें
HTTP 301 कहता है कि नया URI स्थायी प्रतिस्थापन है; HTTP 302 कहता है कि वैकल्पिक स्थान अस्थायी है। विधि-संवेदनशील अनुरोधों के लिए, 308 और 307 समान स्थायित्व विकल्पों को व्यक्त करते हैं जबकि अनुरोध विधि को बनाए रखते हैं।
एक सही तैनाती को एक प्रासंगिक गंतव्य, एक प्रत्यक्ष हॉप, अद्यतन आंतरिक संदर्भ और सुसंगत कैनोनिकल संकेतों की आवश्यकता होती है। श्रृंखला का परीक्षण करें जैसे एक ग्राहक इसे देखता है और अंतिम सामग्री को मान्य करें न कि एक एकल स्थिति रेखा पर भरोसा करें।
क्या आप एक अधिक प्रेक्षणीय डेटा कार्यप्रवाह बनाने के लिए तैयार हैं?
एक पृष्ठ आपके डेटासेट में प्रवेश करने से पहले स्थिति, पहचान, रूटिंग और प्रस्तुत सामग्री के लिए स्पष्ट वैधता नियमों का उपयोग करें।
आज साइन अप करें और प्राप्त करें $5 मुफ्त क्रेडिट — कोई क्रेडिट कार्ड आवश्यक नहीं है.
अपने $5 क्रेडिट का दावा करें →अक्सर पूछे जाने वाले प्रश्न
क्या 301 और 302 पुनर्निर्देश उपयोगकर्ताओं के लिए अलग दिखते हैं?
301 और 302 पुनर्निर्देश अक्सर एक ब्राउज़र में समान दिखते हैं क्योंकि दोनों एक ही गंतव्य पर जा सकते हैं। अंतर स्थायीता के बारे में सर्वर के बयान और ग्राहकों, कैश, और खोज प्रणालियों द्वारा उस मैपिंग को बनाए रखने या व्याख्या करने के तरीके में है।
क्या 302 पुनर्निर्देश SEO को नुकसान पहुंचाते हैं?
302 एक वास्तविक अस्थायी स्थानांतरण के लिए उपयुक्त है और यह स्वाभाविक रूप से हानिकारक नहीं है। समस्याएँ तब होती हैं जब एक स्थायी प्रवासन एक अस्थायी संकेत पर बना रहता है, गंतव्य असंबंधित है, या आंतरिक कैनोनिकल संकेतों में लगातार संघर्ष होता है।
क्या 301 या 302 POST को GET में बदल सकते हैं?
कई उपयोगकर्ता एजेंट ऐतिहासिक रूप से 301 या 302 का पालन करते समय POST को GET में बदलते हैं। विधि और सामग्री को बनाए रखते हुए अस्थायी पुनर्निर्देशन के लिए 307 का उपयोग करें या स्थायी पुनर्निर्देशन के लिए 308 का उपयोग करें।
क्या हटाई गई पृष्ठों को होमपेज पर पुनर्निर्देशित किया जाना चाहिए?
हटाई गई पृष्ठों को सभी को होमपेज पर पुनर्निर्देशित नहीं किया जाना चाहिए। जब एक प्रासंगिक समकक्ष प्रतिस्थापन मौजूद हो, तो इसका उपयोग करें; अन्यथा एक वास्तविक 404 या 410 लौटाएँ ताकि उपयोगकर्ता और खोज प्रणालियाँ एक ईमानदार परिणाम प्राप्त कर सकें।
एक स्क्रैपर को पुनर्निर्देशों को कैसे रिकॉर्ड करना चाहिए?
एक स्क्रैपर को अनुरोधित यूआरएल, प्रत्येक स्थिति और स्थान, अंतिम यूआरएल, विधि व्यवहार, और अंतिम सामग्री की मान्यता को रिकॉर्ड करना चाहिए। स्थायी और अस्थायी पुनर्निर्देश को एक ही कैनोनिकल निर्णय में समेटना नहीं चाहिए।