2010-11-13 10 views
15

बस यह समझने की कोशिश कर रहा है कि उन्होंने एक आरईएसटी एपीआई का उपयोग क्यों नहीं किया।Google Analytics __utm.gif का उपयोग क्यों करता है?

+1

संभावित डुप्लिकेट: http://stackoverflow.com/questions/1227417/google-analytics-and-the-utm-gif-file –

+3

नकारात्मक। मैंने इसे पढ़ने से पहले पढ़ा। थ्रेड सिर्फ यह पूछ रहा है कि क्या आपको अपने सर्वर पर .gif रखना है या नहीं। मैं सोच रहा था कि वे इसका उपयोग क्यों कर रहे हैं। – Jacksonkr

+4

सहमत हैं - पूछें कि कौन सी gif छवि की सेवा करने की आवश्यकता है यह पूछने से अलग सवाल है कि इसे बिल्कुल सेवा की आवश्यकता है या नहीं। यह प्रश्न वास्तव में क्लाइंट से सर्वर में डेटा स्थानांतरित करने के लिए एक बेहतर तंत्र है या नहीं। – doug

उत्तर

28

आरईएसटी में, ग्राहक संसाधनों के लिए सर्वरों के अनुरोध शुरू करते हैं; सर्वर उन अनुरोधों को संसाधित करते हैं और उचित प्रतिक्रियाएं लौटाते हैं।

utm.gif सर्वर-से-क्लाइंट डेटा स्थानांतरण में शामिल नहीं है, बल्कि इसके बजाय यह दूसरी दिशा में डेटा को स्थानांतरित करने में शामिल है।

बेशक आरईएसटी के पास क्लाइंट के लिए सर्वर (जीईटी और पोस्ट) के साथ संवाद करने के लिए HTTP विधियां हैं और वास्तव में, Google Analytics क्लाइंट के ब्राउज़र को जीएटी अनुरोध के माध्यम से GA सर्वर पर सभी एनालिटिक्स डेटा भेजने के लिए निर्देशित करता है। अधिक सटीक रूप से, एक जीईटी अनुरोध में एक अनुरोध यूआरएल और अनुरोध शीर्षलेख शामिल हैं (उदाहरण के लिए, रेफरर और उपयोगकर्ता-एजेंट शीर्षलेख)।

सभी जीए डेटा - हर एक मद - इकट्ठे जाता है और अनुरोध URL की क्वेरी स्ट्रिंग में पैक (के बाद सब कुछ '?')। लेकिन उस डेटा को क्लाइंट (जहां यह बनाया गया है) से GA सर्वर (जहां यह लॉग और समेकित है) पर जाने के लिए, एक HTTP अनुरोध होना चाहिए, इसलिए ga.js (google analytics स्क्रिप्ट जो डाउनलोड की गई है, जब तक कि यह न हो ग्राहक द्वारा कैश किए गए फ़ंक्शन के परिणामस्वरूप क्लाइंट द्वारा कैश किया जाता है) क्लाइंट को सभी एनालिटिक्स डेटा इकट्ठा करने के लिए निर्देशित करता है - उदाहरण के लिए, कुकीज़, स्थान पट्टी, अनुरोध शीर्षलेख इत्यादि .-- इसे एक स्ट्रिंग में संयोजित करें और इसे एक यूआरएल (http://www.google-analytics.com/__utm.gif?) में क्वेरी स्ट्रिंग के रूप में संलग्न करें और यह अनुरोध URL बन जाता है।

बेशक संसाधन के बिना HTTP अनुरोध नहीं हो सकता है; तो संसाधन सर्वर से अनुरोध करने वाला क्लाइंट है? इसे सर्वर से कुछ भी चाहिए, इसके बजाय यह सर्वर को जानकारी भेजना चाहता है। तो क्लाइंट द्वारा अनुरोध किया गया वास्तविक सर्वर संसाधन पूरी तरह से पूर्ववर्ती है - क्लाइंट द्वारा संसाधन की भी आवश्यकता नहीं है, इसे पूरी तरह से ट्रांसमिशन प्रोटोकॉल ऑपरेटर का अनुपालन करने का अनुरोध किया जाता है। इसलिए, यह संसाधन को जितना संभव हो उतना छोटा और अविभाज्य बनाने के लिए समझ में आता है, यही कारण है कि यह gif प्रारूप में 1 x 1 पारदर्शी पिक्सेल है। यह सबसे छोटा संभव आकार और कम से कम घने छवि प्रारूप (बाइट्स/पिक्सेल) है; मुझे लगता है कि यह 30 बाइट से थोड़ा अधिक है। अन्य सामान्य प्रारूपों में एक 1 x 1 छवि (उदा।, जेपीईजी, पीएनजी, टिफ) बड़ी हैं।

क्लाइंट और सर्वर के बीच डेटा स्थानांतरित करने के लिए यह सामान्य योजना हमेशा के लिए रही है; ऐसा करने का एक बेहतर तरीका बहुत अच्छा हो सकता है, लेकिन यह एकमात्र तरीका है जिसे मैं जानता हूं (जो होस्टेड एनालिटिक्स सेवा द्वारा लगाई गई बाधाओं को पूरा करता है)।

(गूगल एनालिटिक्स वास्तव में है दो APIs-- "Data Export" and "Management" --which दोनों RESTful वेब सेवाओं रहे हैं।)

+2

तो वे केवल gif उपयोग कर रहे हैं प्रोटोकॉल के अनुपालन में होना करने के लिए ? वे क्यूएस के माध्यम से अपने सभी डेटा भेज रहे हैं और अनुरोध हेडर की आवश्यकता नहीं है, इसलिए मुझे अभी भी यह नहीं मिला है :( पीएस- विस्तृत स्पष्टीकरण के लिए धन्यवाद – Jacksonkr

+1

नहीं, utm.gif का उद्देश्य यह है: एक जेएस -आधारित वेब एनालिटिक्स रिग की आवश्यकता है कि डेटा को क्लाइंट से सर्वर पर स्थानांतरित किया जाए। 'GET' अनुरोध ऑपरेटर को उस हस्तांतरण के लिए चुना गया था, जिसका अर्थ है कि डेटा को GET अनुरोध शीर्षलेख में पैक किया जाना चाहिए। एक GET अनुरोध एक अनुरोध है क्लाइंट से * सर्वर * तक, यह एकमात्र तरीका है जो काम करता है, इसलिए ग्राहक को एक वैध जीईटी अनुरोध होने के लिए सर्वर से संसाधन का अनुरोध करना चाहिए, इसलिए 'नकली' संसाधन का उपयोग किया जाता है, यह छोटा 1x1 पिक्सेल पारदर्शी छवि। – doug

+7

@doug, सर्वर बस 35 बाइट gif के बजाय 1 बाइट स्ट्रिंग क्यों नहीं लौटा सकता है? –

7

आप ब्राउज़रों कि जावास्क्रिप्ट का समर्थन नहीं करते < नोस्क्रिप्ट > का उपयोग कर में __utm.gif उपयोग कर सकते हैं टैग (सर्वर पर कुछ काम के साथ), साथ ही ईमेल संदेशों में (ईमेल भेजने से पहले कुछ काम के साथ)।

आप एक ईमेल संदेश में एक आरईएसटी अनुरोध कैसे कर रहे हैं?

+0

यदि जावास्क्रिप्ट अक्षम है, तो जावास्क्रिप्ट स्निपेट जो वास्तविक Google एनालिटिक्स स्क्रिप्ट को इंजेक्ट करता है उसे भी निष्पादित नहीं किया जा सकता है। – Alan

+0

@Alan गलत है। आप छवि टैग के साथ __utf.gif का अनुरोध कर सकते हैं। यह जावास्क्रिप्ट की आवश्यकता नहीं है। आपको अपने सर्वर –

+0

पर अनुरोध करने के लिए GA स्क्रिप्ट लोड करने की आवश्यकता नहीं है टैग स्वयं फ्लाई पर बनाया गया है और Google Analytics जावास्क्रिप्ट द्वारा डाला गया है। यह मार्कअप – Alan

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