10

如果我将来自谷歌 CDN 的 jQuery 与客户网站上的 html 页面中的脚本标签链接起来,这对隐私有什么影响?

使用这些 CDN 服务的隐藏成本是多少?如果脚本没有被浏览器缓存并且它从谷歌加载脚本,谷歌可能会对这些信息做什么?它能否与搜索、分析或 Adsense 等其他服务一起有效地推断?没有什么是免费的,有什么问题?

和奖金问题....

如果脚本已经被浏览器缓存(304),浏览器是否仍然发出远程请求?

4

1 回答 1

3

304作为请求结果的响应。这是一个请求,其中包含有关它发出的最后一个请求的信息并得到一个 200,服务器或者从该请求中回复,200 OK这是新的东西,或者304 Not Modified然后在那里结束它(带有一些 HTTP 标头以便很好地衡量)。

但事实是,如果响应配置正确,浏览器甚至可能不会发出请求。我不知道头顶的标题,所以我只是通过浏览器浏览了 jquery 1.7.2 的 google CDN 请求。

HTTP/1.1 304 Not Modified
Date: Wed, 11 Apr 2012 15:01:19 GMT
Expires: Thu, 11 Apr 2013 15:01:19 GMT
Age: 122140
Server: GFE/2.0

因此,您可以看到它设置为 1 年后到期。我尝试将其作为本地 html 编辑器/网页页面中脚本的源,并且使用 Fiddler2,可以看到没有发出任何请求。现在,如果我再次浏览我的浏览器,我将收到相同的请求,但不是在我的编辑器中。

隐私方面,我不确定是否存在问题。如果 CDN 出现问题,当然,可能会有一些问题,当然也可能存在中间人攻击等,但如果这是您的担忧,那么无论如何您都应该使用 HTTPS。CDN 通常也提供 HTTPS。

依赖 CDN 的最大缺点是由于网络故障,您的客户端可能无法访问 CDN。所以提供备份总是好的。

这是一个例子:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
    if (typeof jQuery == 'undefined') {
        document.write(unescape('%3Cscript src="/local/path/to/jQuery/jquery.1.7.1.min.js" type="text/javascript"%3E%3C/script%3E'));
    }
</script>
于 2012-04-13T01:19:37.247 回答