Google analytics 谷歌分析为什么使用uuutm.gif?

Google analytics 谷歌分析为什么使用uuutm.gif?,google-analytics,Google Analytics,只是想了解他们为什么不使用RESTAPI。在REST中,客户端向服务器发起资源请求;服务器处理这些请求并返回适当的响应 utm.gif不涉及服务器到客户端的数据传输,而是涉及向另一个方向移动数据 当然,REST有HTTP方法供客户端与服务器通信(GET和POST),实际上,Google Analytics会指示客户端浏览器通过GET请求将所有分析数据发送到GA服务器。更准确地说,GET请求由请求URL和请求头(例如,Referer和User-Agent头)组成 所有GA数据——每一项——都被组装

只是想了解他们为什么不使用RESTAPI。

在REST中,客户端向服务器发起资源请求;服务器处理这些请求并返回适当的响应

utm.gif不涉及服务器到客户端的数据传输,而是涉及向另一个方向移动数据

当然,REST有HTTP方法供客户端与服务器通信(GET和POST),实际上,Google Analytics会指示客户端浏览器通过GET请求将所有分析数据发送到GA服务器。更准确地说,GET请求由请求URL和请求头(例如,Referer和User-Agent头)组成

所有GA数据——每一项——都被组装并打包到请求URL的查询字符串中(在“?”之后的所有内容)。但是,为了让数据从客户端(创建它的地方)传输到GA服务器(记录和聚合它的地方),必须有一个HTTP请求,因此GA.js(google analytics脚本是由客户端下载的,除非它被缓存,这是页面加载时调用的函数的结果)指示客户端将所有分析数据(例如Cookie、位置栏、请求标题等)组合成一个字符串,并将其作为查询字符串附加到URL(?)中,然后成为请求URL

当然,没有资源就不可能有HTTP请求;那么,客户机是否向服务器请求资源?它不需要来自服务器的任何信息,而是希望向服务器发送信息。因此,客户机请求的实际服务器资源纯粹是一种假设——客户机甚至不需要该资源,它只是被请求遵守传输协议操作符。因此,使资源尽可能小和不引人注目是有意义的,这就是为什么它是gif格式的1 x 1透明像素。它是可能的最小尺寸和最小密度的图像格式(字节/像素);我想它有30多个字节。其他常用格式(如jpeg、png、tiff)的1 x 1图像更大

这种在客户机和服务器之间传输数据的通用方案一直存在;很可能有更好的方法可以做到这一点,但这是我所知道的唯一方法(满足托管分析服务施加的约束)


(Google Analytics确实有两个API--“”,它们都是RESTful Web服务。)

您可以在不支持使用标签的javascript的浏览器中使用u utm.gif(在服务器上进行一些工作),以及在电子邮件消息中(在发送电子邮件之前进行一些工作)


如何在电子邮件中发出REST请求?

因为这是一个图像,您可以将其粘贴到任何可以使用的地方,并且即使无法执行JS,也可以使用图像标记。许多年前,谷歌推出了这项技术来跟踪电子邮件活动。您可以将此格式化字符串粘贴到html电子邮件消息中,然后显示该消息的任何客户端都会将该请求发送到GA服务器,您将获得最低IP信息(这也是您的地理位置),具体取决于客户端,您还可以获得操作系统、语言和所有其他浏览器设置。你不能从现代的JS跟踪脚本中获得所有花哨的分析,但是如果仍然有它的用途的话

下面是一个网站,它将帮助您格式化请求字符串,并提供更多详细信息。

可能重复:阴性。我在发布这篇文章之前读过。该线程只是询问您是否需要在服务器上安装.gif文件。我想知道他们为什么要用它。同意——问谁需要提供gif图像与问是否需要提供gif图像是不同的问题。这个问题实际上是关于是否有更好的机制将数据从客户端传输到服务器。在这里找到了答案,所以他们只使用gif来遵守协议?他们通过QS发送所有数据,不需要请求头,所以我还是不明白:(PS-感谢您的详细解释否,utm.gif的目的是:基于js的web analytics rig要求将数据从客户端传输到服务器。操作员选择了“GET”请求进行传输,这意味着数据必须打包到GET请求标头中。GET请求是来自客户端t的请求o不过,这是服务器的唯一工作方式,因此客户端必须从服务器请求一个资源,才能使其成为有效的GET请求,因此使用了“假”资源,这是一个1x1像素的透明图像。@doug,为什么服务器不能简单地返回一个1字节的字符串而不是35字节的gif?是的,非常详细的回答,但它没有真正回答了问题的核心:为什么是图像,而不是JSON对象、纯文本,或者只是一个
204无内容
响应?我很确定答案与支持通过各种协议(http/https)的跨域请求有关最近才开始为此类传输应用相同的安全规则的浏览器请求。为什么不是txt文件?如果禁用javascript,则注入实际google analytics脚本的javascript片段甚至无法执行。@Alan不正确。您可以使用图像标记请求_utf.gif。这不需要javascript。您不需要加载GA脚本向其服务器发出请求。标记本身是在由google analytics javascript动态插入。它不是预先存在于标记中的东西