2018-09-13 को संपादित करें : इस प्री-फ़्लाइट रिक्वेस्ट के बारे में कुछ पूर्वधारणाएं जोड़ी गईं और इस रिपेप्शन के अंत में इससे कैसे बचा जाए।
OPTIONS
अनुरोध वे होते हैं जिन्हें हम pre-flight
अनुरोध कहते हैं Cross-origin resource sharing (CORS)
।
जब आप विशिष्ट स्थितियों में विभिन्न उत्पत्ति के लिए अनुरोध कर रहे हों, तो वे आवश्यक हैं।
यह प्री-फ़्लाइट अनुरोध कुछ ब्राउज़रों द्वारा सुरक्षा उपाय के रूप में किया जाता है ताकि यह सुनिश्चित किया जा सके कि किया जा रहा अनुरोध सर्वर द्वारा विश्वसनीय है। मतलब सर्वर समझता है कि अनुरोध पर भेजे जा रहे तरीके, मूल और हेडर कार्य करने के लिए सुरक्षित हैं।
जब भी आप क्रॉस ओरिजिनल रिक्वेस्ट करने का प्रयास कर रहे हों, तो आपके सर्वर को अनदेखा नहीं करना चाहिए बल्कि इन अनुरोधों को संभालना चाहिए।
एक अच्छा संसाधन यहाँ पाया जा सकता है http://enable-cors.org/
आरामदायक पाने के लिए इन्हें संभालने का एक तरीका यह सुनिश्चित करना है कि किसी भी पथ के OPTIONS
लिए सर्वर इस हेडर के साथ प्रतिक्रिया भेजता है
Access-Control-Allow-Origin: *
यह ब्राउज़र को बताएगा कि सर्वर किसी भी मूल से अनुरोधों का जवाब देने के लिए तैयार है।
अपने सर्वर पर CORS समर्थन जोड़ने के तरीके के बारे में अधिक जानकारी के लिए निम्न फ़्लोचार्ट देखें
http://www.html5rocks.com/static/images/cors_server_flowchart.png
2018-09-13 को संपादित करें
MDS डॉक्सOPTIONS
में बताए गए, केवल केस के मामलों में CORS अनुरोध को ट्रिगर किया गया है :
कुछ अनुरोध एक CORS प्रीफ़लाइट ट्रिगर नहीं करते हैं। इस लेख में उन्हें "सरल अनुरोध" कहा जाता है, हालांकि Fetch युक्ति (जो CORS को परिभाषित करती है) उस शब्द का उपयोग नहीं करती है। एक अनुरोध जो एक CORS प्रीफ़्लाइट को ट्रिगर नहीं करता है - एक तथाकथित "सरल अनुरोध" - जो निम्नलिखित सभी शर्तों को पूरा करता है:
केवल अनुमत विधियाँ हैं:
उपयोगकर्ता एजेंट द्वारा स्वचालित रूप से सेट किए गए हेडर के अलावा (उदाहरण के लिए, कनेक्शन, उपयोगकर्ता-एजेंट, या किसी अन्य हेडर के साथ जो फ़ॉस्च युक्ति में "निषिद्ध हेडर नाम" के रूप में परिभाषित किया गया है), केवल हेडर जो होने की अनुमति है मैन्युअल रूप से सेट वे होते हैं, जो एक "CORS- सुरक्षित अनुरोध-हेडर" होने के रूप में प्राप्त होता है, जो फ़ेक युक्ति को परिभाषित करता है:
- स्वीकार करना
- स्वीकार करें-भाषा
- सामग्री-भाषा
- सामग्री-प्रकार (लेकिन नीचे दी गई अतिरिक्त आवश्यकताओं पर ध्यान दें)
- डीपीआर
- डाउनलिंक
- डेटा बचाना
- व्यूपोर्ट-चौड़ाई
- चौड़ाई
सामग्री-प्रकार हेडर के लिए केवल अनुमत मान हैं:
- आवेदन / x-www फार्म-urlencoded
- बहुखण्डीय / फार्म-डेटा
- पाठ / सादे
अनुरोध में उपयोग किए गए किसी भी XMLHttpRequestUpload ऑब्जेक्ट पर कोई ईवेंट श्रोता पंजीकृत नहीं हैं; इन्हें XMLHttpRequest.upload प्रॉपर्टी का उपयोग करके एक्सेस किया जाता है।
अनुरोध में कोई ReadableStream ऑब्जेक्ट का उपयोग नहीं किया जाता है।