当前位置: 首页 > 面试题库 >

用于jQuery或Google CDN的Microsoft CDN?[关闭]

苗学民
2023-03-14
问题内容

您实际上使用哪个CDN链接到您的jquery文件或任何javascript文件是否重要?一个可能比另一个更快吗?您决定在哪个CDN中使用哪些其他因素?我知道Microsoft,Yahoo和Google现在都具有CDN。


问题答案:

根据评论更新:

简短版:没什么关系,但可能取决于他们托管的内容。他们都拥有不同的东西:谷歌没有托管jQuery.Validate,微软没有托管jQuery-UI,自2016年以来就已经托管了!!,微软提供了可以通过ScriptResource.axd更简单的集成方式提供的脚本(例如ScriptManager与ASP。网络4.0)。

重要说明: 如果要构建Intranet应用程序,请远离CDN方法。托管它的用户无关紧要,除非您内部使用的服务器负载非常高,否则CDN不会为您提供比本地100mb / 1GB以太网更高的性能。如果将CDN用于严格的内部应用程序,则会损害性能。 正确设置您的缓存到期标头,并忽略仅Intranet方案中存在的CDN。

被阻止的机会似乎相等,几乎为零。我曾从事过并非如此的合同工作,但这似乎是一个例外。此外,自从最初发布此答案以来,其周围的上下文已发生了很大变化,Microsoft CDN取得了很大进步。

我目前正在进行的项目同时使用两个CDN,这对我们的解决方案最为有效。有几个因素在起作用。使用旧版浏览器的用户仍可能按照HTTP规范的建议在每个域中同时发出2个请求。对于任何运行支持流水线技术的新事物(每个当前的浏览器)的人来说,这都不是问题,但是基于另一个因素,我们也消除了这一限制,至少在javascript方面。

我们用于以下方面的Google CDN:

  • jquery.min.js
  • jquery-ui.min.js。
    我们用于以下方面的Microsoft CDN:

  • MicrosoftAjax.js

  • MicrosoftAjaxWebForms.js(直到4.0,我们还没有完全删除所有UpdatePanels)
  • jQuery.Validate.min.js

我们的服务器:

Combined.js?v = 2.2.0.6190(Major.Minor.Iteration.Changeset)
由于构建过程的一部分是合并和最小化所有自定义javascript,因此我们通过自定义脚本管理器执行此操作,该脚本管理器根据构建情况包括这些脚本的发行或调试(非最小化)版本。由于Google没有托管jQuery验证程序包,因此这可能是不利的一面。MVC在其2.0版本中包含/使用了它,因此您可以完全依靠Microsoft的CDN来满足您的所有需求,并且所有这些都可以通过ScriptManager自动实现。

唯一需要考虑的其他参数是DNS时间,这在页面加载速度方面是有代价的。 平均:仅因为使用了更多时间(时间更长)ajax.googleapis.com比DNS早返回DNS ajax.microsoft.com,仅是因为本地DNS服务器更有可能收到请求(这是该区域中的第一个用户) 。这是非常小的事情,只有在性能极其重要(低至毫秒)时才应考虑。
(是的:我意识到这一点与我同时使用两个CDN是相反的,但是在我们的案例中,DNS时间远远超过了发生的javascript /阻止的等待时间)

最后,如果您没有看过它,那么Firebug是其中最好的工具,还有一些它的插件:Page Speed和YSlow。如果您使用CDN,但由于没有缓存头,则页面每次都在请求图像,那么您将错过低挂的果实。Firebug的“网络”面板可以快速为您提供页面加载时间的快速细分,而页面速度/ YSlow可以提供一些很好的建议来帮助您。



 类似资料:
  • 本文向大家介绍JQuery Tips相关(1)----关于$.Ready(),包括了JQuery Tips相关(1)----关于$.Ready()的使用技巧和注意事项,需要的朋友参考一下  最近一直在研究JQuery,这个东西还是很博大精深的.下面分享一下我的学习总结. $(document).Ready()方法 VS OnLoad事件 VS $(window).load()方法      接触J

  • 请帮帮我,我对此很困惑

  • 问题内容: 最近有人问我关于涵盖 C / C ++和Java的代码库的Coverage Prevent的替代方法。显然,在Java方面,可用的免费工具包括Findbugs(编译代码分析)和PMD(静态代码分析)。它们非常强大,尤其是当您开始研究与IDE的集成时(它们又是免费的)。 但是,当您开始使用各种编译器,体系结构等进入C / C ++领域时,事情变得扑朔迷离。 我已经为Java端提出了多种工

  • 问题内容: 关闭页面时,我使用此代码注销用户,但是单击其他链接(相同的网站)时,用户也会注销: 有什么方法可以区分链接导航和实际页面关闭吗? 编辑: 我目前已实现此解决方案,但是它缺乏检测页面重新加载的能力 问题答案: 尝试以下解决方案,希望对您有所帮助 要么

  • 有什么指示吗? 或者,相反,如果有人非常了解这个空间,并且知道这个空间可能不存在,那么对于是否有一个简单的GUI框架/小部件可以用来滚动我自己的空间有什么建议吗?(但是由于我的需求有限,我不愿意学习一个大的GUI框架,并为这一部分做大量的编码。)

  • 本文向大家介绍关于jquery中attr()和prop()方法的区别,包括了关于jquery中attr()和prop()方法的区别的使用技巧和注意事项,需要的朋友参考一下 最近项目回归使用jquery,页面渲染全是使用jquery做的,所以做的时候也遇到了许多以前没有见过的问题,如这次操作【radio】控件的"checked"属性时有遇到问题, $("...").attr("checked",fa