वेब मैसेजिंग

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

आवश्यकताएँ और विशेषताएँ
मैसेजिंग एपीआई का उपयोग करना  विधि, सादा पाठ संदेश एक डोमेन से दूसरे डोमेन पर भेजा जा सकता है, उदा. मूल दस्तावेज़ से IFRAME तक। इसके लिए आवश्यक है कि लेखक पहले इसे प्राप्त करे  प्राप्त दस्तावेज़ का उद्देश्य। परिणामस्वरूप, संदेश निम्नलिखित पर पोस्ट किए जा सकते हैं: * प्रेषक दस्तावेज़ की विंडो के भीतर अन्य फ़्रेम या आईफ़्रेम संदेश  प्राप्त होने में निम्नलिखित विशेषताएं हैं:
 * प्रेषक दस्तावेज़ स्पष्ट रूप से जावास्क्रिप्ट कॉल के माध्यम से खुलता है
 * प्रेषक दस्तावेज़ की मूल विंडो
 * वह विंडो जिसने प्रेषक दस्तावेज़ खोला
 * - आने वाले संदेश का डेटा, या वास्तविक सामग्री।
 * - प्रेषक दस्तावेज़ की उत्पत्ति. इसमें आम तौर पर योजना, होस्टनाम और पोर्ट शामिल होते हैं। इसमें पथ या खंड पहचानकर्ता शामिल नहीं है. *  - द   दस्तावेज़ कहां से आया (स्रोत विंडो)।

यह कोई ब्लॉकिंग कॉल नहीं है; संदेशों को अतुल्यकालिक रूप से संसाधित किया जाता है।

उदाहरण
विचार करें कि हम दस्तावेज़ ए को लोड करना चाहते हैं  से लोड किए गए दस्तावेज़ बी के साथ संचार करने के लिए   एक में   या पॉपअप विंडो. दस्तावेज़ A के लिए जावास्क्रिप्ट इस प्रकार दिखाई देगी: हमारी उत्पत्ति  ऑब्जेक्ट को पास कर दिया गया है. यह मेल खाना चाहिए  जिस दस्तावेज़ के साथ हम संचार करना चाहते हैं (इस मामले में, दस्तावेज़ बी)। अन्यथा, एक सुरक्षा त्रुटि उत्पन्न हो जाएगी और स्क्रिप्ट बंद हो जाएगी। दस्तावेज़ बी के लिए जावास्क्रिप्ट इस प्रकार दिखाई देगी: दस्तावेज़ ए से संदेश प्राप्त करने के लिए एक ईवेंट श्रोता की स्थापना की जाती है। का उपयोग करना  संपत्ति, यह तब जाँचता है कि प्रेषक का डोमेन अपेक्षित डोमेन है। दस्तावेज़ बी तब संदेश को देखता है, या तो इसे उपयोगकर्ता को प्रदर्शित करता है, या दस्तावेज़ ए के लिए स्वयं के संदेश के साथ प्रतिक्रिया देता है।

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

समर्थन
क्रॉस-डॉक्यूमेंट मैसेजिंग के लिए समर्थन इंटरनेट एक्सप्लोरर, मोज़िला फ़ायरफ़ॉक्स, सफारी (वेब ​​​​ब्राउज़र), Google क्रोम, ओपेरा (वेब ​​​​ब्राउज़र), ऑपेरा मिनी, ओपेरा मोबाइल और एंड्रॉइड (ऑपरेटिंग सिस्टम) के वर्तमान संस्करणों में मौजूद है। एपीआई के लिए समर्थन ट्राइडेंट (लेआउट इंजन), गेको (लेआउट इंजन), वेबकिट और प्रेस्टो (लेआउट इंजन) लेआउट इंजन में मौजूद है।

यह भी देखें

 * क्रॉस साइट स्क्रिप्टिंग
 * क्रॉस साइट अनुरोध जालसाजी
 * समान-मूल नीति
 * क्रॉस-ओरिजिन संसाधन साझाकरण
 * JSONP

बाहरी संबंध

 * HTML5 Web Messaging recommendation
 * HTML5 Web Messaging specification