HTTP / 1.1 302 का वास्तव में क्या मतलब है?


120

कुछ लेख जो मैंने एक बार पढ़े, उन्होंने कहा कि इसका मतलब है कूद (एक यूआरआई से दूसरे में), लेकिन मैंने इस "302" का पता लगाया जब वास्तव में कोई कूद नहीं रहा था!


1
इस पर कुछ अच्छी जानकारी यहाँ wc3.org प्रलेखन में हो सकती है
कोपा

2
करीब से ध्यान दें: example.com example.com और example.com तार्किक रूप से अलग हैं, और इसे प्राप्त करने के लिए एक URL के माध्यम से एक साइट को एक से दूसरे में एक्सेस करने की इच्छा रखने वाली साइट पुनर्निर्देशित हो सकती है। बेशक, 302 पुनर्निर्देशन इसके लिए एक खराब विकल्प हैं ... लेकिन आपने अच्छी तरह से सूक्ष्म बदलाव देखा होगा।
शोग

इस साइट को देखें ( hostingpill.com/http-302-error )
virusarthak

जवाबों:


74

302 पुनर्निर्देशित का अर्थ है कि पृष्ठ को अस्थायी रूप से स्थानांतरित कर दिया गया था, जबकि 301 का अर्थ है कि इसे स्थायी रूप से स्थानांतरित किया गया था।

301s SEO वैल्यू के लिए अच्छे हैं, जबकि 302 इसलिए नहीं हैं क्योंकि 301s क्लाइंट को मूल URL के मूल्य को भूलने का निर्देश देते हैं, जबकि 302 मूल के मूल्य को बनाए रखता है और इस प्रकार दो, तार्किक रूप से अलग URL बनाकर मूल्य को कम कर सकता है प्रत्येक एक ही सामग्री का उत्पादन करते हैं (खोज इंजन उन्हें दो नामों वाले एकल संसाधन के बजाय अलग डुप्लिकेट के रूप में देखते हैं)।


58

यह सवाल बहुत पहले पूछा गया था, जबकि आरएफसी 2616 अभी भी लटका हुआ था। इस प्रश्न के कुछ उत्तर ऐसे दस्तावेज पर आधारित हैं, जो आजकल प्रासंगिक नहीं हैं। मार्क नॉटिंघम को उद्धृत करते हुए , जो लेखन के समय, IETF HTTP और QUIC वर्किंग ग्रुप्स की सह-अध्यक्षता करते हैं:

RFC2616 का उपयोग न करें । अपनी हार्ड ड्राइव, बुकमार्क, और बर्न (या जिम्मेदारी से रीसायकल) को किसी भी प्रतियां जो प्रिंट आउट हैं, उसे हटा दें।

पुराने RFC 2616 को निम्नलिखित दस्तावेजों द्वारा दबाया गया है जो एक साथ, HTTP / 1.1 प्रोटोकॉल को परिभाषित करते हैं:

  • RFC 7230 : संदेश सिंटैक्स और रूटिंग
  • RFC 7231 : शब्दार्थ और सामग्री
  • RFC 7232 : सशर्त अनुरोध
  • RFC 7233 : सीमा अनुरोध
  • RFC 7234 : कैशिंग
  • RFC 7235 : प्रमाणीकरण

इसलिए मैं RFC 7231 में आधारित उत्तर देने का लक्ष्य रखता हूं जो HTTP / 1.1 स्थिति कोड के लिए वर्तमान संदर्भ है।

302स्थिति कोड

302URL पुनर्निर्देशन करने का एक सामान्य तरीका है प्रतिक्रिया । 302स्थिति कोड के साथ , प्रतिक्रिया में Locationएक अलग URI के साथ एक हेडर शामिल होना चाहिए । इस तरह के हेडर को यूजर एजेंट द्वारा पार्स किया जाएगा और फिर रीडायरेक्शन किया जाएगा:


पुनर्निर्देशन उदाहरण


वेब ब्राउज़र से बदल सकते हैं POSTकरने के लिए GETअनुवर्ती अनुरोध में। यदि यह व्यवहार अवांछित है, तो 307(अस्थायी पुनर्निर्देशित) स्थिति कोड का उपयोग इसके बजाय किया जा सकता है।

इस प्रकार 302से RFC 7231 में स्थिति कोड को परिभाषित किया गया है :

6.4.3। 302 मिला

302(मिली) स्थिति कोड इंगित करता है कि लक्ष्य संसाधन अलग URI में अस्थायी रूप से रहता है। चूंकि पुनर्निर्देशन को मौके पर बदल दिया जा सकता है, ग्राहक को भविष्य के अनुरोधों के लिए प्रभावी अनुरोध URI का उपयोग जारी रखना चाहिए।

Locationअलग-अलग URI के लिए URI संदर्भ वाली प्रतिक्रिया में सर्वर SHOULD एक हेडर फ़ील्ड उत्पन्न करता है । उपयोगकर्ता एजेंट MAY Locationफ़ील्ड मान का उपयोग स्वचालित पुनर्निर्देशन के लिए करता है। सर्वर की प्रतिक्रिया पेलोड में आमतौर पर एक हाइपरलिंक के साथ एक छोटा हाइपरटेक्स्ट नोट होता है जो विभिन्न यूआरआई (ओं) के लिए होता है।

नोट: ऐतिहासिक कारणों से, एक प्रयोक्ता एजेंट से अनुरोध विधि बदल सकते हैं POSTकरने के लिए GETबाद में अनुरोध के लिए। यदि यह व्यवहार अवांछित है, तो 307(अस्थायी पुनर्निर्देशित) स्थिति कोड का उपयोग इसके बजाय किया जा सकता है।

मोज़िला के एमडीएन वेब डॉक्स के अनुसार , इसके लिए एक विशिष्ट उपयोग मामला 302है:

वेब पेज उन कारणों के लिए अस्थायी रूप से उपलब्ध नहीं है जो अप्रत्याशित नहीं हैं। इस तरह, खोज इंजन अपने लिंक को अपडेट नहीं करते हैं।

पुनर्निर्देशन के लिए अन्य स्थिति कोड

आरएफसी 7231 परिभाषित करता है पुनर्निर्देशन के लिए निम्न स्थिति कोड:

  • 301 (स्थाई रूप से स्थानांतरित)
  • 302 (मिल गया)
  • 307 (अस्थायी पुनर्निर्देशित)

आरएफसी 7238 पुनर्निर्देशन के लिए एक और स्थिति कोड को परिभाषित करने के लिए बनाया गया था:

  • 308 (स्थायी पुनर्निर्देशन)

अधिक जानकारी के लिए इस उत्तर को देखें।


2
अच्छी तरह से दो दिनों का मेरा दर्द आपके ऊपर है ( Locationहेडर वह चीज थी जिसने मेरी मदद की)। यह पता चला है कि मैं एक सेवा के साथ बुला रहा था httpऔर वे चले गए https, मुझे जवाब में सब मिला 302, जैसे ही मैंने Locationयहां हेडर पढ़ा , मैंने http/httpsअंतर देखा । धन्यवाद!
यूजीन

मुझे इस त्रुटि का एक ही कारण मिला है। मेरे जावास्क्रिप्ट ने गलत https स्थान को इंगित किया और इसलिए पुनर्निर्देशन विफल हो गया। टिप्पणी के लिये आपका धन्यवाद।
मैक्स

25

HTTP 301 बनाम 302 रीडायरेक्ट को देखने का एक सरल तरीका है:

मान लीजिए कि आपके पास " http://sample.com/sample " का एक बुकमार्क है । आप वहां जाने के लिए ब्राउज़र का उपयोग करते हैं।

इस बिंदु पर एक भिन्न URL पर 302 रीडायरेक्ट करने का मतलब होगा कि आपको अपना बुकमार्क " http://sample.com/sample " पर रखना चाहिए । ऐसा इसलिए है क्योंकि गंतव्य URL भविष्य में बदल सकता है।

किसी भिन्न URL के लिए 301 रीडायरेक्ट का अर्थ होगा कि आपका बुकमार्क नए URL को इंगित करने के लिए बदल जाना चाहिए क्योंकि यह एक स्थायी रीडायरेक्ट है।


9

से RFC 2616 (हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल विशिष्टता) :

10.3.3 302 मिला

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

   अस्थायी URI SHOULD को स्थान फ़ील्ड द्वारा दिया जाता है
   प्रतिक्रिया। जब तक अनुरोध विधि HEAD नहीं थी, की इकाई थी
   प्रतिक्रिया SHOULD में हाइपरलिंक के साथ एक छोटा हाइपरटेक्स्ट नोट होता है
   नया URI (s)।

स्रोत:

http://www.ietf.org/rfc/rfc2616.txt


6

से विकिपीडिया :

HTTP रिस्पांस स्टेटस कोड 302 मिला रीडायरेक्शन करने का सबसे आम तरीका है। यह मानक के विपरीत औद्योगिक अभ्यास का एक उदाहरण है।



5

302 संसाधन स्थान के परिवर्तन का संकेत देने वाली प्रतिक्रिया है - "मिला"।

यूआरएल जहां संसाधन अब स्थित होना चाहिए, वह प्रतिक्रिया 'स्थान' शीर्षक में होना चाहिए।

"कूद" अनुरोध क्लाइंट (प्रतिक्रिया स्थान हेडर क्षेत्र में संसाधन यूआरएल के लिए एक नया अनुरोध करें) द्वारा किया जाना चाहिए।


5

एसईओ के शब्द में, 301 और 302 दोनों अच्छे हैं यह स्थिति पर निर्भर है,

यदि केवल एक ही संस्करण लौटाया जा सकता है (यानी, इसे अन्य रीडायरेक्ट), तो यह बहुत अच्छा है! यह व्यवहार फायदेमंद है क्योंकि यह डुप्लिकेट सामग्री को कम करता है। स्लैश URL ट्रेस करने के लिए रीडायरेक्ट के विशेष मामले में, हमारे खोज परिणाम संभवतः 200 रिस्पांस कोड (सबसे अधिक बार अनुगामी स्लैश URL) के साथ URL के संस्करण को दिखाएंगे - चाहे वह रीडायरेक्ट 301 या 302 हो।


3

HTTP कोड 302 पुनर्निर्देशन के लिए http://en.wikipedia.org/wiki/HTTP_302 देखें ।

यह ब्राउज पढ़ने के पेज को बताता है कि कहीं और जाना है और दूसरे पेज को लोड करना है। इसका उपयोग बहुत आम है।


1

के अनुसार आरएफसी 1945 / हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल - HTTP / 1.0 :

   302 Moved Temporarily

   The requested resource resides temporarily under a different URL.
   Since the redirection may be altered on occasion, the client should
   continue to use the Request-URI for future requests.

   The URL must be given by the Location field in the response. Unless
   it was a HEAD request, the Entity-Body of the response should
   contain a short note with a hyperlink to the new URI(s).

   If the 302 status code is received in response to a request using
   the POST method, the user agent must not automatically redirect the
   request unless it can be confirmed by the user, since this might
   change the conditions under which the request was issued.

       Note: When automatically redirecting a POST request after
       receiving a 302 status code, some existing user agents will
       erroneously change it into a GET request.

0
  • कोड 302 एक अस्थायी पुनर्निर्देशन इंगित करता है ।
  • सबसे उल्लेखनीय विशेषताओं में से एक जो इसे 301 रीडायरेक्ट से अलग करती है, वह यह है कि 302 रीडायरेक्ट के मामले में, एसईओ की ताकत एक नए यूआरएल में स्थानांतरित नहीं होती है।
  • ऐसा इसलिए है क्योंकि इस पुनर्निर्देशन को तब उपयोग करने के लिए डिज़ाइन किया गया है जब किसी पृष्ठ पर सामग्री को पुनर्निर्देशित करने की आवश्यकता होती है जो निश्चित नहीं होगी। इस प्रकार, पुनर्निर्देशन समाप्त होने के बाद, मूल पृष्ठ Google खोज इंजन में अपनी स्थिति नहीं खोएगा।

उदाहरण: - हालांकि यह बहुत आम नहीं है कि हम अपने आप को 302 रीडायरेक्ट की जरूरत में पाते हैं, यह विकल्प कुछ मामलों में बहुत उपयोगी हो सकता है। ये सबसे लगातार मामले हैं:

  • जब हमें पता चलता है कि किसी पृष्ठ पर कुछ अनुचित सामग्री है। जब हम समस्या का समाधान करते हैं, तो हम उपयोगकर्ता को किसी अन्य पृष्ठ पर पुनर्निर्देशित कर सकते हैं जो ब्याज का हो सकता है।
  • इस घटना में कि हमारी वेबसाइट पर किसी भी पृष्ठ के पुनर्स्थापन की आवश्यकता होती है, यह रीडायरेक्ट हमें घटना को कम करने में मदद कर सकता है।

पुनर्निर्देशित 302 एक कोड है जो एक विशिष्ट URL के आगंतुकों को बताता है कि पृष्ठ को अस्थायी रूप से स्थानांतरित कर दिया गया है, उन्हें सीधे नए स्थान पर निर्देशित कर रहा है।

  • दूसरे शब्दों में, जब Google रोबोट या अन्य खोज इंजन किसी विशिष्ट पृष्ठ को लोड करने का अनुरोध करते हैं तो 302 पुनर्निर्देशित होता है। उस समय, इस पुनर्निर्देशन के लिए धन्यवाद, सर्वर एक नए URL को इंगित करते हुए एक स्वचालित प्रतिक्रिया देता है।

  • इस तरह से त्रुटियों और झुंझलाहट को सुचारू नेविगेशन की गारंटी देने वाले खोज इंजन और उपयोगकर्ताओं दोनों से बचा जाता है।

अधिक जानकारी के लिए इस लेख को देखें ।


0

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

इस स्थिति कोड के साथ एक HTTP प्रतिक्रिया अतिरिक्त हेडर फ़ील्ड स्थान में एक URL प्रदान करेगी। यह उपयोगकर्ता एजेंट (उदाहरण के लिए एक वेब ब्राउज़र) के लिए एक निमंत्रण है, अन्यथा, एक जैसे, स्थान क्षेत्र में निर्दिष्ट नए URL के लिए अनुरोध करता है। अंतिम परिणाम नए URL पर पुनर्निर्देशन है।


0

किसी ऐसे व्यक्ति के लिए जो नामकरण के बारे में उत्सुक हो सकता है, मैं बस यह जोड़ने जा रहा हूं कि शायद इसे "संस्थापक" कहा जाता है क्योंकि मुख्य संसाधन (उदाहरण के लिए, एक निजी वेब पेज) जिसे उपयोगकर्ता प्राप्त करना चाहता है, वह उस समय उपलब्ध नहीं है (जैसे, उपयोगकर्ता ने अभी तक अपनी पहचान साबित नहीं की है), इसलिए इसके बजाय सर्वर ने एक नया संसाधन पाया है जो उपयोगकर्ता प्राप्त कर सकता है (जो कि सबसे आम उपयोग के मामले में एक लॉगिन पृष्ठ है)।

साथ ही यह छिपाने और तलाशने के तरीके में "खो गया और पाया" है, जिसका अर्थ है कि एक 302 स्थिति के तहत एक खोया हुआ संसाधन केवल अस्थायी रूप से खो जाता है, इसे हमेशा के लिए खोना नहीं है (जब तक कि किसी खिलाड़ी के कुछ बुरे इरादे न हों;))।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.