我还没有使用过jQuery,但人们不禁会注意到涉及它的过多问题。在阅读基础知识时,some提到了“客户端计算机上的压力,如果您打算在自己的Web服务器上托管JQuery脚本,也可能是您的Web服务器”。
我不太关心客户端,但想知道我们会看到什么样的压力。我read jQuery库“可以通过链接到本地副本或公共服务器提供的众多副本中的一个来包含在网页中”。我想知道微软(或其他人)为什么要让数百万人使用他们的服务器来使用DL jQuery库?客户端是否对每个会话一次性DL文件,或者只是在事件/效果/功能触发时DL'd和本地访问的部分?图书馆多久清除一次客户端?如果我有,在我的网站上有100'000个访问者和1'000'000次点击,那么该库文件会被DL'd多少次?每次会话一次?很抱歉提出这个n00b问题,但我正在阅读一些相互矛盾的事情,并想知道是否有人可以填补我。
答案 0 :(得分:4)
jQuery框架(与任何其他客户端脚本或样式表一样)在下载后存储(缓存)在客户端上。
最新版本的jQuery在缩小生产时约为31kb,因此这与应用程序中的任何其他图像或轻量级html页面一致,除了它将在客户端缓存而不是两次下载。< / p>
允许jQuery基地由像谷歌这样的CDN托管也是一种选择。 Here is a great blog post about doing that
答案 1 :(得分:3)
大多数静态内容,如Javascript文件中的jQuery库,并不是一种压力。你提到100k访客,是每天吗?每月?真的改变了期望。
您无需在服务器上托管jQuery文件,您可以使用Google的内容分发网络(CDN)或Microsoft的CDN(如https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js),以消除服务器上的任何相关问题只是下载文件。
答案 2 :(得分:1)
您可以采取一些措施来缓解这些问题。
您需要确保浏览器缓存了您使用的javascript库。浏览器通常会执行此操作,您可以使用html5缓存清单实际执行此操作。这样,每个客户端只加载一次代码。
尽量减少你的src。
配置您的网络服务器,以便将常见的静态资源(如您的src代码和图像)保存在内存中,并将其gzip进行传输以减少下载的大小。
此外,还有一项称为容量规划的内容。如果您的应用程序将获得10万访问者,您需要使用硬件来支持它。
答案 3 :(得分:1)
每个用户都会下载一次该文件。一旦第一次下载,用户的浏览器就会对其进行缓存,并且永远不会再次下载。将其与您的HTML页面进行比较,每次用户单击链接时都会重新加载。
在33kb时,JQuery与大型HTML文档的大小差不多,并且比大多数图像小很多倍。因为它只是一个静态文件,所以它基本上没有引入服务器负载。根据{{3}},常见的服务器软件可以处理每秒的数十万个静态请求,这是大多数网站必须处理的。
这就是为什么谷歌和微软都可以为每个人托管jQuery - 它太小了,它不会打扰他们的服务器。
总结;别担心。 jQuery永远不会给你的服务器带来问题。