2011-04-28 12 views
37

से असुरक्षित शीर्षलेख "etag" प्राप्त करने से इंकार कर दिया गया है कोई कस्टम शीर्षलेख के साथ एक सरल GET अनुरोध। प्रतिक्रिया अपेक्षित के रूप में वापस आती है। शरीर में डेटा सुलभ है, लेकिन हेडर नहीं।क्रॉस डोमेन संसाधन साझाकरण प्राप्त करें: 'प्रतिक्रिया

असुरक्षित हैडर "ETag" पाने के लिए इनकार कर दिया

क्रोम, सफारी और Firefox सब व्यवहार करते हैं एक ही:

जब मैं "ETag" शीर्षक तक पहुँचने का प्रयास, ब्राउज़र एक अपवाद बढ़ा। मैंने आईई पर इसका परीक्षण नहीं किया।

मुझे यहां क्या याद आ रही है? http://www.w3.org/TR/XMLHttpRequest2/#ref-cors

इसके अलावा, ऐसा करने का एक और तरीका है, जो JSON-पी कहा जाता है वहाँ यह एक JSON की तरह है:

+0

अद्यतन: केवल निम्न हेडर सुलभ हैं: - समय-सीमा समाप्त - Last-Modified - सामग्री-भाषा - कैश-नियंत्रण - सामग्री प्रकार – Mohamed

+0

किसी को पता करने के लिए जब यह तय किया गया था चाहता है, मैंने पाया [वेबकिट] में बग (https://bugs.webkit.org/show_bug.cgi?id=41210) और [क्रोमियम] (https://code.google.com/p/chromium/issues/detail?id= 87,338 और कर सकते हैं = 1 & q = पहुंच-नियंत्रण-बेनकाब-हेडर और colspec = आईडी% 20Pri% 20M% 20Iteration% 20ReleaseBlock% 20Cr% 20Status% 20Owner% 20Summary% 20OS% 20Modified)। – rvignacio

उत्तर

66

केवल सरल प्रतिक्रिया हेडर संपर्क में हैं जब CORS का उपयोग कर। सरल प्रतिक्रिया शीर्षलेख here परिभाषित किए गए हैं। ETag एक साधारण प्रतिक्रिया शीर्षलेख नहीं है। ,

Access-Control-Expose-Headers: ETag 

हालांकि ध्यान दें कि मैं क्रोम, सफारी और फ़ायरफ़ॉक्स में बग्स से गैर सरल हेडर को रोकने के ध्यान दिया है: आप गैर सरल हेडर बेनकाब करने के लिए चाहते हैं, आप तो जैसे, Access-Control-Expose-Headers हैडर निर्धारित करने की आवश्यकता सही ढंग से उजागर किया जा रहा है। यह अब तक तय किया जा सकता है, मुझे यकीन नहीं है।

के बाद से preflight केवल के लिए आवश्यक है आप एक preflight अनुरोध करने की ज़रूरत नहीं होना चाहिए गैर प्राप्त/पोस्ट http तरीकों या गैर सरल अनुरोध हेडर (और आप के बारे में प्रतिक्रिया हेडर पूछ रहे हैं)।

+3

मैं पुष्टि करता हूं कि एक्सेस-कंट्रोल-एक्सपोज़-हेडर हेडर के लिए समर्थन बग्गी है। – Mohamed

+2

मुझे यह जानना अच्छा लगेगा कि अंतिम-संशोधित सरल क्या है और ईटाग नहीं है। क्या वे उसी उद्देश्य का समर्थन नहीं करना चाहते हैं जो कैश अनुकूलन है? – Mohamed

+1

आप एक अच्छा मुद्दा बनाते हैं।मुझे इसके पीछे प्रेरणा नहीं पता है, लेकिन यहां एक धागा है जो इसका उल्लेख करता है (मैंने इसे अभी तक नहीं पढ़ा है): http://lists.w3.org/Archives/Public/public-webapps/2010AprJun/0038। एचटीएमएल – monsur

1

क्या तुमने कभी कोशिश की AJAX 2.0 (क्रॉस डोमेन को साझा) एक पद्धति काफी हाल ही में W3C द्वारा बाहर लाया है है अनुरोध, लेकिन आप इसे क्रॉस-डोमेन के लिए उपयोग कर सकते हैं: http://en.wikipedia.org/wiki/JSONP

दोनों साइट मालिकों के लिए बहुत खतरनाक हो सकते हैं यदि सही तरीके से सेटअप नहीं किया गया हो। तो इसका उपयोग करते समय सावधान रहें।

[पी एस] सुनिश्चित नहीं हैं कि अगर यह मदद मिलेगी: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

+1

क्या आपने प्रश्न का शीर्षक पढ़ा था? यह कोर – mplungjan

+0

ओह माना जाता है, ओह, अगर मैं ईमानदार हूं तो मुझे वास्तव में यह नहीं पता था। लेकिन अभी भी JSONP – DarkMantis

+0

का उपयोग कर सकते हैं निश्चित रूप से, लेकिन यह जानना दिलचस्प है कि क्या हो रहा है। विशेष रूप से जब JSONP बेकार हो जाता है जब – mplungjan

संबंधित मुद्दे