HTTP पुनर्निर्देशन: 301(स्थायी) बनाम 302(अस्थायी)




redirect http-status-code-301 (4)

301 के साथ मुख्य मुद्दा ब्राउज़र को पुनर्निर्देशन को कैश करेगा, भले ही आपने सर्वर स्तर से पुनर्निर्देशन अक्षम कर दिया हो।

यदि आप छोटी रखरखाव विंडो के लिए पुनर्निर्देशन सक्षम कर रहे हैं तो 302 का उपयोग करना हमेशा बेहतर होता है।

क्या ग्राहक अलग व्यवहार करना चाहता है? कैसे?


301 यह है कि अनुरोधित संसाधन को एक नया स्थायी यूआरआई सौंपा गया है और इस संसाधन के भविष्य के संदर्भों को लौटाए गए यूआरआई में से एक का उपयोग करके किया जाना चाहिए। 302 यह है कि अनुरोधित संसाधन अस्थायी रूप से एक अलग यूआरआई के तहत रहता है। चूंकि पुनर्निर्देशन अवसर पर बदला जा सकता है, इसलिए ग्राहक भविष्य के अनुरोधों के लिए अनुरोध-यूआरआई का उपयोग करना जारी रखेगा। कैश-कंट्रोल या हेडर फ़ील्ड समाप्त होने पर यह प्रतिक्रिया केवल कैच करने योग्य है।


जब एक खोज इंजन स्पाइडर को वेबपृष्ठ के प्रतिक्रिया शीर्षलेख में 301 स्थिति कोड मिल जाता है, तो यह समझता है कि यह वेबपृष्ठ अब मौजूद नहीं है, यह प्रतिक्रिया में स्थान शीर्षलेख की खोज करता है, नए यूआरएल को चुनता है और अनुक्रमित यूआरएल को नए से बदलता है और पेजरैंक को स्थानांतरित करता है ।

तो खोज इंजन सभी अनुक्रमित यूआरएल को रीफ्रेश करता है जो अब नए यूआरएल के साथ मौजूद नहीं है (301 मिला), यह आपके पुराने वेबपेज यातायात, पेजरैंक को बनाए रखेगा और इसे नए पर बदल देगा (आप पुराने वेबपृष्ठ के ट्रैफिक को नहीं खो देंगे)।

ब्राउज़र: यदि किसी ब्राउज़र को 301 स्टेटस कोड मिल जाता है तो यह नए यूआरएल के साथ पुराने यूआरएल के मैपिंग को कैश करता है, क्लाइंट / ब्राउजर मूल स्थान का अनुरोध करने का प्रयास नहीं करेगा, लेकिन कैश साफ़ होने तक अब से नए स्थान का उपयोग करेगा।

जब कोई खोज इंजन स्पाइडर किसी वेबपृष्ठ के लिए 302 स्थिति पाता है, तो यह केवल अस्थायी रूप से नए स्थान पर रीडायरेक्ट करेगा और दोनों पृष्ठों को क्रॉल करेगा। पुराना वेबपृष्ठ यूआरएल अभी भी खोज इंजन डेटाबेस में मौजूद है और यह हमेशा पुराने स्थान का अनुरोध करने और इसे क्रॉल करने का प्रयास करता है। ग्राहक / ब्राउज़र अभी भी मूल स्थान का अनुरोध करने का प्रयास करेगा।

एएसपीनेट सी # में इसे कार्यान्वित करने के तरीके के बारे में और पढ़ें और खोज इंजन पर असर क्या है - http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code-aspnet-csharp-Implementation.html स्थायी- vs-302- समकालीन- स्टेटस-code- http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code-aspnet-csharp-Implementation.html


स्थिति 301 का अर्थ है कि संसाधन (पृष्ठ) स्थायी रूप से एक नए स्थान पर स्थानांतरित हो जाता है। क्लाइंट / ब्राउजर को मूल स्थान का अनुरोध करने का प्रयास नहीं करना चाहिए, लेकिन अब से नए स्थान का उपयोग करना चाहिए।

स्थिति 302 का अर्थ है कि संसाधन अस्थायी रूप से कहीं और स्थित है, और क्लाइंट / ब्राउज़र को मूल यूआरएल का अनुरोध करना जारी रखना चाहिए।







http-status-code-302