HTTP 301 और 308 स्टेटस कोड में क्या अंतर है?



http-status-code-301 http-status-codes (1)

301 , 302 और 307 का अवलोकन

RFC 7231 , HTTP / 1.1 प्रोटोकॉल के शब्दार्थ और सामग्री के लिए वर्तमान संदर्भ, 301 (मूव्ड परमानेंटली) और 302 (फाउंड) स्टेटस कोड को परिभाषित करता है, जो अनुरोध विधि को POST से GET बदलने की अनुमति देता है। यह विनिर्देश 307 (अस्थाई पुनर्निर्देशन) स्थिति कोड को भी परिभाषित करता है, जो अनुरोध विधि को POST से GET बदलने की अनुमति नहीं देता है।

नीचे अधिक विवरण देखें:

301 301

301 (स्थायी रूप से स्थानांतरित) स्थिति कोड इंगित करता है कि लक्ष्य संसाधन को एक नया स्थायी यूआरआई सौंपा गया है और इस संसाधन के किसी भी भविष्य के संदर्भ को संलग्न यूआरआई में से एक का उपयोग करना चाहिए। [...]

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

302 302

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

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

307 307

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

नोट: यह स्थिति कोड 302 (मिला) के समान है, सिवाय इसके कि यह POST से GET तक अनुरोध विधि को बदलने की अनुमति नहीं देता है। यह विनिर्देश 301 (मूव्ड परमानेंटली) ( RFC 7238 के लिए कोई समकक्ष समकक्ष को परिभाषित नहीं करता है, हालाँकि, इस उद्देश्य के लिए स्थिति कोड 308 (स्थायी पुनर्निर्देशन) को परिभाषित करता है)।

308 की आवश्यकता

RFC 7238 को tools.ietf.org/html/rfc7538 (परमानेंट रिडायरेक्ट) स्टेटस कोड को परिभाषित करने के लिए बनाया गया है, जो 301 (मूव्ड परमानेंटली) के समान है, लेकिन अनुरोध विधि को POST से GET बदलने की अनुमति नहीं देता।

tools.ietf.org/html/rfc7538 स्टेटस कोड अब tools.ietf.org/html/rfc7538 (जो RFC 7238 के लिए मान लिया गया है ) द्वारा परिभाषित किया गया है।

tools.ietf.org/html/rfc7538

308 (स्थायी पुनर्निर्देशन) स्थिति कोड इंगित करता है कि लक्षित संसाधन को एक नया स्थायी यूआरआई सौंपा गया है और इस संसाधन के किसी भी भविष्य के संदर्भ को संलग्न यूआरआई में से एक का उपयोग करना चाहिए। लिंक संपादन क्षमताओं वाले ग्राहकों को जहां संभव हो, सर्वर द्वारा भेजे गए एक या अधिक नए संदर्भों के लिए प्रभावी अनुरोध URI के संदर्भों को स्वचालित रूप से पुन: लिंक करने के लिए चाहिए। [...]

नोट: यह स्थिति कोड 301 (स्थायी रूप से स्थानांतरित) के समान है, सिवाय इसके कि यह POST से GET तक अनुरोध विधि को बदलने की अनुमति नहीं देता है।

हमारे पास निम्नलिखित हैं:

                                                             +-----------+-----------+
                                                             | Permanent | Temporary |
+------------------------------------------------------------+-----------+-----------+
| Allows changing the request method from POST to GET        | 301       | 302       |
+------------------------------------------------------------+-----------+-----------+
| Doesn't allow changing the request method from POST to GET | 308       | 307       |
+------------------------------------------------------------+-----------+-----------+

सबसे उपयुक्त स्थिति कोड चुनना

नीचे दिए गए चित्र (इस page से निकाले गए) पर एक नज़र डालें:

page

HTTP 301 और 308 स्थिति कोड में क्या अंतर है?

  • 301 (स्थायी रूप से स्थानांतरित): यह और भविष्य के सभी अनुरोधों को दिए गए URI को निर्देशित किया जाना चाहिए।

  • 308 (स्थायी पुनर्निर्देशन): अनुरोध और भविष्य के सभी अनुरोधों को दूसरे URI का उपयोग करके दोहराया जाना चाहिए।

वे समान प्रतीत होते हैं।





http-status-code-308