2

Google Analytics使用.gif 图像Get Request到服务器

http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=...

我们可以观察到所有参数都在此发送,Get Request并且请求的图像没有发现有用的地方(它只是 1px x 1px 图像

已知信息: 如果请求的查询字符串很大,那么 Google 将使用Post Request.

现在的问题是为什么不Post Request总是不管查询字符串是否很大。

通过Get Request其发送的数据会导致安全问题。因为,参数将存储在浏览器历史记录中或在Get Request.

有人能给出任何支持性的理由,为什么谷歌分析依赖于这两个东西吗?

4

2 回答 2

2

因为 GET 请求是您用于检索不会改变内容的信息的方式。

请注意,使用 POST 有很多缺点,浏览器通常会警告不要重新加载通过 POST 请求的资源(以防止双重数据输入),POST 请求不会被缓存(这就是一些分析滥用它的原因),代理等。

如果您想使用 URL 检索大量数据(建议:重新考虑是否有更好的选择),那么有必要使用来自Wikipedia的 post :

有时 HTTP GET 甚至不适合数据检索。例如,需要在 URL 中指定大量数据时。浏览器和 Web 服务器可以对它们将处理的 URL 的长度进行限制,而不会出现截断或错误。URL 和查询字符串中保留字符的百分比编码可以显着增加它们的长度,虽然 Apache HTTP Server 最多可以处理 URL 中的 4,000 个字符,但 Microsoft Internet Explorer 限制为任何 URL 中的 2048 个字符。同样,在必须提交敏感信息(例如用户名和密码)以及其他数据以完成请求的情况下,不应使用 HTTP GET。在这些情况下,即使使用 HTTPS 对消息体进行加密,URL 中的数据也会以明文形式传递,许多服务器、代理、并且浏览器将以第三方可以看到的方式记录完整的 URL。在这些情况下,应该使用 HTTP POST。

于 2013-03-11T13:30:38.720 回答
1

POST 请求将需要 ajax 调用,并且由于http://en.wikipedia.org/wiki/Same-origin_policy而无法工作。但是图像可以很容易地跨站点,所以他们只需要在 DOM 中添加一个带有所需 url 的 img 标签,浏览器就会加载它,将所需的信息发送到他们的服务器进行跟踪。

于 2015-05-25T07:34:16.867 回答