ऐसा लगता है कि 302 से अधिक 301 के साथ जाने का विकल्प शुरू करने के लिए थोड़ा मनमाना था। हालांकि, यह जरूरी नहीं है कि प्रत्येक यूआरएल एचटीटीपीएस योजना का उपयोग करने के लिए "है" जा रहा है। वहां बहुत अच्छा पृष्ठ हो सकता है जो HTTP या HTTPS दोनों से पहुंच की अनुमति देता है भले ही वह बाद वाले को प्रोत्साहित कर सके। एक कार्यान्वयन जहां यह हो सकता है, कुछ विशेष मानदंडों के आधार पर HTTPS का उपयोग करना है या नहीं, यह निर्धारित करने के लिए कुछ कोड वायर्ड हो सकते हैं।
एक केस परिदृश्य के रूप में, जीमेल पर एक नज़र डालें। सेटिंग्स के भीतर, एप्लिकेशन के बड़े हिस्सों में HTTPS प्रोटोकॉल को अनुमति देने या अस्वीकार करने में सक्षम है। तब कौन सा कोड वापस किया जाना चाहिए? 301 सटीक नहीं होगा, क्योंकि यह "स्थायी" नहीं है ... उपयोगकर्ता के आदेश पर केवल एक बदलाव है। अफसोस की बात है, 302 बिल्कुल सटीक नहीं है क्योंकि 302 त्रुटि का तात्पर्य है कि भविष्य में किसी बिंदु पर लिंक को वापस बदलने का इरादा है (संबंधित संदर्भ http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)।
अनुमोदित, जीमेल एक मोटा उदाहरण है क्योंकि साइट के उन हिस्सों का हिस्सा जो आमतौर पर एक खोज इंजन द्वारा अनुक्रमित नहीं होते हैं, लेकिन संभावना अभी भी मौजूद है।
और अपने अंतिम प्रश्न का उत्तर देने के लिए, यदि आप एएसपी.नेट एमवीसी (जो मुझे लगता है कि आप छोटे वाक्यविन्यास उदाहरण से उपयोग कर रहे हैं) में एक अलग स्थिति कोड चाहते हैं, तो एक सरल, कस्टम विशेषता के साथ बदलना संभव है:
public class MyRequireHttpsAttribute : RequireHttpsAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (!filterContext.HttpContext.Request.IsSecureConnection)
filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
}
}
अब सभी कार्यों उस गुण को लागू एक 301 स्थिति कोड जब HTTP प्रोटोकॉल के माध्यम से सुलभ लौटना चाहिए।
http://webmasters.stackexchange.com/questions/22268/when-redirecting-from-http-to-https-in-a-shop-site-which-status-code-should-iu – Hupperware