यह क्यों है कि एएसपी/एएसपी.NET Response.Redirect एक HTTP-302 स्थिति कोड ("अस्थायी रूप से स्थानांतरित") का उपयोग करता है, भले ही अधिकांश मामलों में HTTP-301 स्थिति कोड ("स्थायी रूप से स्थानांतरित हो") अधिक उपयुक्त होगा?Response.Redirect HTTP स्थिति कोड
उत्तर
स्थिति 301 के साथ प्रतिक्रियाओं को कैश करने योग्य माना जाता है, और मुझे नहीं लगता कि आप अधिकांश एएसपी/एएसपी.नेट रीडायरेक्ट के लिए उस व्यवहार को चाहते हैं।
एएसपी.NET 4.0 की आवश्यकता होने पर RedirectPermanent विधि है।
Response.Redirect
का एक आम उपयोग केस उपयोगकर्ता को एक पोस्टबैक के बाद सर्वर-साइड कोड में दूसरे पृष्ठ पर ले जाना है, उदा।
private void MyButton_Click(object sender, EventArgs e)
{
if (some condition) {
Response.Redirect("ShowProduct.aspx");
} else {
Response.Redirect("SorryOutOfStock.aspx");
}
}
उन मामलों में, 301 पूरी तरह से गलत होगा। वास्तव में, मुझे लगता है कि उपरोक्त मामला (कुछ यूआई इंटरैक्शन के बाद सशर्त रूप से उपयोगकर्ता को दूसरे पृष्ठ पर ले जाता है) वास्तविक से Response.Redirect
का अधिक आम उपयोग है, यह पृष्ठ-स्थानांतरित-टू-अन्य-यूआरएल-हमेशा के लिए परिदृश्य (जहां 301 का रिटर्न कोड उचित होगा)।
हेनज़ी के उत्तर के अलावा, वेब पर एकमात्र इकाई जो 301 की अधिक सूचना लेती है, वह खोज इंजन होगी। अधिकतर ब्राउज़र प्रारंभिक यूआरएल के बाद के किसी भी अनुरोध को स्वचालित रूप से रीडायरेक्ट करने के क्रम में 301 ट्रैक और रिकॉर्ड नहीं करेंगे। ब्राउज़र 301 का इलाज करते हैं कि वे 302 का इलाज कैसे करते हैं। इसलिए एएसपी.नेट में उत्पन्न गतिशील सामग्री में 302 काफी उपयुक्त है।
हां, यह उन खोज मकड़ियों हैं जिनके बारे में मैं चिंता कर रहा हूं। – Vinz
मैं सफलता के साथ इस काम स्थायी रीडायरेक्ट का उपयोग किया है:
public void RedirectPermanent(string newPath)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", newPath);
HttpContext.Current.Response.End();
}
मैं भी इसका उपयोग कर रहा हूं, लेकिन मैं सोच रहा था कि मुझे यह "कामकाज" क्यों करना है। – Vinz
त्रुटि मिल रहा है response.redirect के कारण नहीं है!
HTTP प्रतिक्रिया स्थिति कोड 301 स्थायी स्थायी पुनर्निर्देशन के लिए स्थायी रूप से उपयोग किया जाता है, जिसका अर्थ है कि वर्तमान लिंक या रिकॉर्ड यूआरएल का उपयोग करते हुए रिकॉर्ड किया गया है, जिसे 301 हटाया गया स्थायी प्रतिक्रिया प्राप्त करने के लिए प्रतिक्रिया के स्थान क्षेत्र में दिए गए नए यूआरएल में अपडेट किया जाना चाहिए ।
अच्छा होगा अगर आपने अपने उत्तरों में से प्रत्येक में http://onfrnz.com/search पर लिंक पोस्ट नहीं किया है, तो यह थोड़ा सा स्पैमी है। धन्यवाद। – Kev
- 1. रिटर्निंग http स्थिति कोड
- 2. HTTP स्थिति कोड बात
- 3. पार्सिंग HTTP स्थिति कोड
- 4. 502 HTTP स्थिति कोड
- 5. System.Net.WebException HTTP स्थिति कोड
- 6. HTTP स्थिति कोड
- 7. HTTP स्थिति कोड?
- 8. HTTP स्थिति कोड
- 9. HTTP स्थिति कोड
- 10. HTTP स्थिति कोड: http: 401 GCMDemo
- 11. http.X पर http स्थिति कोड सेट करें?
- 12. इंटरनेट एक्सप्लोरर इंटरनेट विफलता HTTP स्थिति कोड
- 13. खराब डेटा के लिए HTTP स्थिति कोड
- 14. डेटाबेस के लिए HTTP स्थिति कोड
- 15. display_errors HTTP स्थिति कोड क्यों बदलता है?
- 16. HTTP स्थिति कोड 000 क्या है?
- 17. QtWebkit: HTTP स्थिति कोड कैसे जांचें?
- 18. एएसपी क्लासिक रिटर्न विशिष्ट http स्थिति कोड
- 19. एक गैर-मानक http स्थिति कोड
- 20. अनुपलब्ध प्रमाणीकरण के लिए HTTP स्थिति कोड
- 21. Net :: HTTP GET स्रोत कोड और स्थिति
- 22. HTTP स्थिति कोड 400 बनाम 412
- 23. कैसे HTTP स्थिति MSpec
- 24. PHP कर्ल HTTP स्थिति
- 25. Response.Redirect Global.asax
- 26. HTTP स्थिति 404 - टॉमकैट
- 27. HTTP स्थिति 504
- 28. Response.Redirect अपवाद
- 29. फेसबुक आईओएस एसडीके 3.1: "त्रुटि: HTTP स्थिति कोड: 400"
- 30. HTTP स्थिति कोड 308 के साथ क्या सौदा है?
+1 हमें RedirectPermanent के बारे में बताने के लिए +1। – Heinzi
एएसपी.NET 4.0 के साथ आने वाली नई रीडायरेक्ट स्थायी विधि काफी आसान है! दुर्भाग्यवश जिस परियोजना पर मैं काम कर रहा हूं वह 2.0 चल रहा है ... – Vinz