इसका सारांश है, बस 200
का उपयोग करें।
थोड़ा अधिक आम तौर पर: आपको केवल सीओआरएस प्रीफलाइट OPTIONS
अनुरोध के लिए एक ही स्थिति कोड भेजना चाहिए कि आप किसी अन्य OPTIONS
अनुरोध के लिए वापस भेज देंगे। प्रासंगिक चश्मा की आवश्यकता नहीं है या उससे भी ज्यादा कुछ भी सिफारिश नहीं है।
जहाँ तक प्रासंगिक चश्मा: https://fetch.spec.whatwg.org/ पर लायें कल्पना जहां CORS प्रोटोकॉल के लिए आवश्यकताओं को परिभाषित कर रहे हैं, और यह कहते स्थिति रेंज 200
में anyhing हो सकता है - 299
।
CORS-preflight fetch algorithm, जो a step saying it can be any “ok status" है से है कि:
स्थिति अनुरोध और प्रतिक्रिया रिटर्न सफलता और प्रतिक्रिया के लिए की एक CORS जांच
एक ok status है, तो ये substeps चलाएँ: ...
और जहां तक "ठीक स्थिति" है, तो स्पेक यह कहता है:
एक ठीक स्थिति रेंज 200
को 299
, समावेशी में किसी भी स्थिति है। 299
-
इसके अलावा, हालांकि, कल्पना लायें 200
भीतर किसी विशेष स्थिति की सिफारिश नहीं करता।
अन्य प्रासंगिक नमूना HTTP 1.1 spec है, जिसमें सभी HTTP प्रतिक्रिया स्थिति कोडों के अर्थशास्त्र परिभाषित करने वाला एक अनुभाग है, और उसके भीतर, a specific section that defines Successful 2xx कोड।
और उस अनुभाग के भीतर वहाँ , जो कहते हैं यह है:
The 200 (OK) status code indicates that the request has succeeded.
The payload sent in a 200 response depends on the request method.
For the methods defined by this specification, the intended meaning
of the payload can be summarized as:
…
OPTIONS a representation of the communications options;
तो एक CORS preflight विकल्प के लिए एक प्रतिक्रिया बस होने की जरूरत है:
यही है कि 200 OK
को HTTP स्पेक द्वारा परिभाषित किया गया है, ताकि आप वहां पर रुक सकें।
लेकिन यदि आप the rest of the 2xx
codes in that section के माध्यम से पढ़ते हैं, तो आप को छोड़कर OPTIONS
प्रतिक्रिया के लिए उनमें से कोई भी अर्थशास्त्र की पुष्टि कर सकते हैं।
अब जहाँ तक 204 No Content
चला जाता है के रूप में, वहाँ कुछ भी नहीं गलतOPTIONS
के लिए उपयोग करने के साथ है प्रतिक्रियाओं-लेकिन जहां तक मैं देख सकता हूँ, वहाँ भी नहीं वास्तव में किसी भी सवाल है। ऐसा इसलिए है क्योंकि है:
- कुछ अन्य तरीकों के लिए विपरीत, HTTP कल्पना कोई फायदा नहीं एक
OPTIONS
पेलोड के लिए
- इसलिए व्यवहार में परिभाषित करता है, ग्राहकों को किसी भी पेलोड (सामग्री) एक
OPTIONS
के लिए वापस आने के लिए की उम्मीद नहीं है (और किसी भी पेलोड कि वापस आया था साथ कुछ भी नहीं होता)
... इसलिए जहाँ तक मैं देख सकता हूँ वहाँ एक OPTIONS
जवाब में एक विशिष्ट 204
स्थिति कोड का उपयोग कर स्पष्ट रूप से ग्राहकों को कोई पेलोड है बताने के लिए कोई व्यावहारिक उद्देश्य है।
यह संभव है कि मैं गलत हो सकता हूं, हालांकि, और मुझे कुछ याद आ रही है। लेकिन मुझे ऐसा नहीं लगता है।
क्या मूल स्थिति (और संबंधित शीर्षलेख सेट किए जाएंगे) के मामले में स्थिति कोड अलग होना चाहिए या अनुमति नहीं दी जानी चाहिए (और सीओआरएस हेडर सेट नहीं होंगे या मूल से मेल नहीं खाएंगे)?
नहीं, मुझे नहीं लगता कि यह अलग होना चाहिए। मुझे नहीं पता कि 200
याके अलावा मानक-परिभाषित कोड क्या है, आप किसी भी तरह से उपयोग कर सकते हैं-लेकिन इसके बावजूद, चश्मा को यह अलग होने की आवश्यकता नहीं होती है और यदि यह है तो किसी भी अलग उपयोग को परिभाषित नहीं करते हैं। और इसके बारे में सोचें: उन दो मामलों के लिए स्टेटस कोड में किसी भी अंतर के कारण कोई भी मौजूदा क्लाइंट कोड क्या अलग-अलग करने वाला है?
यदि उस प्रश्न का उत्तर "कुछ भी नहीं" है, जहां तक मैं देख सकता हूं कि इसे अलग करने में कोई बात नहीं है।
को देखते हुए सब से ऊपर, नीचे की रेखा है: बस CORS preflight OPTIONS
प्रतिक्रिया के लिए 200 OK
भेजें। 200 OK
के अलावा किसी भी कोड को भेजना आवश्यक या उपयोगी नहीं है।