"प्रविष्टि के लिए धन्यवाद। जब आप पुनर्निर्देशित हों तो कृपया खड़े रहें। " जरूरत है?


11

प्रविष्टि के लिए धन्यवाद। जब आप पुनर्निर्देशित हों तो कृपया खड़े रहें।

आप स्वचालित रूप से पुनः निर्देशित नहीं हो रहे हैं, तो यहां क्लिक करें।

आप शायद इन जैसे संदेशों से परिचित हों, खासकर 90 या 2000 के दशक के प्रारंभ में वेब का उपयोग करते समय। अपने स्वयं के प्रोजेक्ट्स में, मैंने उपयोगकर्ता को 2-3 सेकंड के लिए प्रतीक्षा करने का एक कारण कभी नहीं पाया, जबकि वे पंजीकरण या कुछ पोस्ट करने के बाद पुनर्निर्देशित होते हैं, उदाहरण के लिए। लेकिन यह पैटर्न हर समय आता है, यहां तक ​​कि लोकप्रिय वेब सॉफ्टवेयर जैसे PHPBB में भी।

मेरा प्रश्न यह है कि क्या पुनर्निर्देशन में अभी भी आधुनिक (अंजीक) वेब विकास में कोई स्थान / आवश्यकता है? क्या ऐसी कोई परिस्थितियां हैं जो इस तरह से पुनर्निर्देशन की आवश्यकता होती हैं, अंततः उपयोगकर्ता को परेशान करती हैं, और उनके पीछे तकनीकी कारण क्या हैं ? यदि रीडायरेक्ट की आवश्यकता है तो केवल तुरंत पुनर्निर्देश क्यों नहीं?


बस एक अनुमान: शायद यह किसी भी तरह से स्क्रिप्टेड कार्यों या बॉट को रोकने से संबंधित है? ऐसा करने के लिए बेहतर तरीके हैं, हालांकि (कैप्चा आदि)।

उपयोगकर्ता के अनुरोध के कारण, मैंने PHPBB की अपनी स्थापना को तुरंत पुनर्निर्देशित कर दिया है। इसने केवल कुछ परिवर्तन किए और पूरी तरह से काम किया।
एंड्रे परमेस

@Martin: संभवतः, लेकिन अगर ऐसा है तो यह पूरी तरह से गलत है, क्योंकि कोई भी बॉट किसी भी ब्राउज़र की तरह रीडायरेक्ट का पालन कर सकता है (खासकर अगर PHPBB में, जैसे कोई लोकेशन हेडर है)।
एंड्रे परमेस

जवाबों:


3

क्या ऐसी कोई परिस्थितियां हैं जो इस तरह से पुनर्निर्देशन की आवश्यकता होती हैं, अंततः उपयोगकर्ता को परेशान करती हैं, और उनके पीछे तकनीकी कारण क्या हैं?

सबसे आम आशय (आमतौर पर अनुरोध के मामले में जो एक डेटाबेस में एक नया रिकॉर्ड बनाता है, भुगतान लेनदेन की प्रक्रिया करता है, आदि) डुप्लिकेट अनुरोधों की रोकथाम है उपयोगकर्ता को "ताज़ा करें" बटन को हिट करना चाहिए और अनुरोध को फिर से पोस्ट करना चाहिए।

क्या पुनर्निर्देशन में अभी भी आधुनिक (अंजीक) वेब विकास में एक स्थान / आवश्यकता है?

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

यदि रीडायरेक्ट की आवश्यकता है तो केवल तुरंत पुनर्निर्देश क्यों नहीं?

यदि लक्ष्य कई फॉर्म सबमिशन को रोकने के लिए है, तो रीडायरेक्ट तुरंत जारी किया जाना चाहिए - समयबद्ध रीडायरेक्ट के मामले में शायद वे सुस्त सर्वर की ओर बढ़ रहे हैं, वे सत्र-आधारित लॉक में कारक करने में विफल रहे हैं, या वे करने की कोशिश कर रहे हैं अधिक गूढ़ समस्या का समाधान करें।


"डुप्लिकेट रिक्वेस्ट की रोकथाम है" --- साइलेंट लोकेशन रिडायरेक्ट करता है। "रीडायरेक्ट को तुरंत जारी किया जाना चाहिए यदि लक्ष्य कई फॉर्म सबमिशन को रोकना है" --- यह नहीं होना चाहिए, क्योंकि पेज F5पर Stand byभी पोस्ट भेजने का कारण होगा।
झटके

@zerkms - प्रतिक्रिया बॉडी भेजने से पहले मैं एक नए स्थान पर रीडायरेक्ट करने का सुझाव दे रहा हूं (यानी "पृष्ठ द्वारा कोई" स्टैंड नहीं)
danlefree

5

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

PHPBB पृष्ठों को जिस तरह से करता है (5 सेकंड या कुछ के लिए प्रतीक्षा करता है) बिल्कुल भी आवश्यक नहीं है। इसे तुरंत पुनर्निर्देशित किया जाना चाहिए और यदि ऐसा नहीं होता है, तो यह हेडर भेजने के बाद HTML पेज (जिस पर मेटा-रिफ्रेश और इस पर जावास्क्रिप्ट और एक लिंक के साथ टेक्स्ट होता है) प्रदर्शित करेगा। अगर यह ठीक से क्रमादेशित है तो इस पृष्ठ पर वास्तव में एक नियमित ब्राउज़र द्वारा प्रदर्शित होने का लगभग कोई मौका नहीं होगा।


"सबसे पहले, सभी ब्राउज़रों को स्थान हेडर दिए जाने पर पुनर्निर्देशित नहीं किया जाएगा" [उद्धरण वांछित]
जॉन क्रैम

@Jon Cram: तकनीकी रूप से वेब प्रॉक्सी, और एक्सटेंशन लोकेशन हेडर के साथ हस्तक्षेप कर सकते हैं। ब्राउज़र एक गैर-मानक उपयोगकर्ता एजेंट भी हो सकता है और साइट के मालिक उन्हें ऑफसाइट लिंक के बाद कुछ अलग करने के लिए उन्हें हतोत्साहित करने की कोशिश कर रहे हैं जो एक उपयोगकर्ता आसानी से पालन कर सकता है।
ब्रायन लाइटल

क्या मैं आपको सही ढंग से पढ़ रहा हूं कि PHP के header()फ़ंक्शन को कॉल करना वास्तव में अनदेखा हो सकता है? इससे मुझे बहुत चिंता होती है। मुझे HTML और JS पुनर्निर्देशन विधियों के बारे में पहले से ही पता था और वे कैसे कम विश्वसनीय हैं, लेकिन मैंने कभी नहीं सोचा था कि सर्वर-साइड-भेजे गए HTTP हेडर को वास्तव में अनदेखा किया जा सकता है।
लोटस नोट्स

1
@ लोटस कई लोग हेडर को सही तरीके से नहीं भेजते हैं जो बड़ी समस्या है। आपको इससे पहले एक 3xx कोड शामिल करना चाहिए जो बहुत से लोग नहीं करते हैं। एक ब्राउज़र इस अनुरोध को अनदेखा कर सकता है अगर वह चाहता था (और मुझे यकीन है कि कुछ ग्राहक कर रहे हैं; मुख्य धारा ब्राउज़र हालांकि नहीं)
जो फिलिप्स

ध्यान दें कि एक स्थान शीर्षलेख को एक पूर्ण URL भेजने के लिए माना जाता है , फिर भी इसे अक्सर अनदेखा किया जाता है।
पिस्कोर ने

3

मैं हमेशा उचित HTTP स्थिति कोड (जैसे 301 या 302 - http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html देखें ) के साथ प्रतिक्रिया हैडर में एक रीडायरेक्ट भेजता हूं , जिसके परिणामस्वरूप तत्काल रीडायरेक्ट होता है। मुझे किसी भी अच्छे तकनीकी कारणों की जानकारी नहीं है कि कोई व्यक्ति "कृपया प्रतीक्षा करें जब तक आप पृष्ठ पुनर्निर्देशित न करें" तब प्रदर्शित न हो।


1

ऐसा करने का मुख्य कारण यह है कि जिस साइट पर आपको रीडायरेक्ट किया गया है, उस पर एक रिकॉर्ड बनाया गया है। पेज Google Analytics को लोड कर सकता है, लेकिन डेटा वेबलॉग में भी रहने वाला है।

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

कुछ मामलों में आप उपयोगकर्ता को एक अस्वीकरण भी प्रदान करना चाह सकते हैं, क्योंकि वे पुनर्निर्देशित किए जा रहे हैं। यह विशेष रूप से विनियमित उद्योगों में काम करने वाले वेबमास्टरों के लिए महत्वपूर्ण है। यदि आप बैंकिंग या फार्मास्यूटिकल्स जैसे विनियमित उद्योग में काम नहीं करते हैं, तो आपको इन आवश्यकताओं के लिए बहुत सराहना नहीं होगी।


तो सारांश में, यह पैटर्न केवल तभी आवश्यक है जब आपको वेबसाइट पर अपने उपयोगकर्ताओं के कार्यों को ट्रैक करने की आवश्यकता हो?
लोटस नोट्स

0

यह बैक बटन को ठीक से काम करने की अनुमति देता है।

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