एचटीपीवॉच की मदद से, मैंने यह पता लगाने की कोशिश की कि जीमेल कैसे धूमकेतु लागू करता है।जीमेल ने धूमकेतु को कैसे लागू किया?
मैं जीमेल में दो खातों के साथ लॉगिन करता हूं, एक आईई में और दूसरा फ़ायरफ़ॉक्स में। जीमेल में जीटीकॉक में कुछ जादू शब्द जैसे "WASSUP" के साथ चैट करना। फिर, मैं जीमेल खातों दोनों को लॉगऑफ करता हूं, "WASSUP" स्ट्रिंग के बिना किसी भी http सामग्री को फ़िल्टर करता हूं। परिणाम दिखाता है कि कौन सा HTTP अनुरोध स्ट्रीमिंग चैनल है। (नोट: मुझे लॉगऑफ करना होगा। अन्यथा, कभी भी समाप्त होने वाला HTTP एचटीपीवैच में सामग्री नहीं दिखाएगा।)
परिणाम दिलचस्प है।
कोई आश्चर्य की बात जीमेल IFRAME साथ IE में है कि धूमकेतु है: धारा चैनल के लिए यूआरएल की तरह है। एचटीपी सामग्री "<html><body>
" से शुरू होती है।
मूल रूप से, मैंने अनुमान लगाया कि जीमेल फ़ायरफ़ॉक्स में धूमकेतु को multipart XmlHttpRequest के साथ करता है। मेरे आश्चर्य के लिए, प्रतिक्रिया शीर्षलेख में "मल्टीपार्ट/एक्स-मिश्रित-प्रतिस्थापन" शीर्षलेख नहीं है। प्रतिक्रिया हेडर के रूप में नीचे हैं:
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Sat, 20 Mar 2010 01:52:39 GMT
X-Frame-Options: ALLOWALL
Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
Server: GSE
X-XSS-Protection: 0
दुर्भाग्य से, HttpWatch नहीं बताता है कि क्या एक HTTP अनुरोध XmlHttpRequest से है या नहीं। सामग्री एचटीएमएल नहीं है लेकिन जेएसओएन। यह एक्सएचआर के लिए प्रतिक्रिया की तरह दिखता है, लेकिन यह धूमकेतु के लिए मल्टीपार्ट/एक्स-मिश्रित प्रतिस्थापन के बिना काम नहीं करेगा, है ना?
क्या यह पता लगाने के लिए कोई और तरीका है कि जीमेल कैसे धूमकेतु लागू करता है?
अद्यतन: आगे की जांच पड़ताल करने के बाद, मेरा मानना है कि जीमेल धूमकेतु इस तरह से लागू करता है: 1) IE में, यह एक हमेशा के लिए-छुपा-आइफ्रेम का उपयोग करें; 2) फ़ायरफ़ॉक्स में, यह मल्टीपार्ट/एक्स-मिश्रित-प्रतिस्थापन शीर्षलेख के बिना हमेशा के लिए एक्सएचआर का उपयोग करता है। ग्राहक conditon (readyState == 3) या (readyState == 4) में प्रतिक्रिया देगा। यही है, दोनों इंटरैक्टिव राज्य और पूर्ण राज्य में।
यह एक अच्छा लेख है। लेकिन, यह अभी भी व्याख्या नहीं करता है कि क्यों जीमेल ने जेएसओएन को फ़ायरफ़ॉक्स में प्रतिक्रिया के रूप में चुना है। –
@ मॉर्गन, जेएसओएन वास्तव में डेटा पैकेज करने का एक अच्छा तरीका है, खासकर हालांकि जावास्क्रिप्ट के उपयोग के लिए विशेष रूप से नहीं - सीएफआर http://ajaxian.com/archives/json-vs-xml-the-debate और (esp।) कई लिंक उधर से। खंडित स्थानांतरण-एन्कोडिंग के साथ, यह ठीक काम करता है ... कम से कम मानक-अनुरूप ब्राउज़र में ;-)। –
हाय, लेख के लिए waybackmachine कोशिश की क्योंकि लेख नीचे है। क्या आप एक और लिंक दे सकते हैं? धन्यवाद!! – loveNoHate