标签: cdn

从谷歌CDN回退jQuery UI

Html5 Boilerplate使用以下技巧回退到本地存储的JQuery,如果从谷歌CDN抓取它失败:

<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
Run Code Online (Sandbox Code Playgroud)

你会如何实现这个技巧来为jQuery UI执行相同的技巧?

performance jquery cdn

14
推荐指数
2
解决办法
8977
查看次数

在CDN中缓存但不在浏览器中缓存

我目前使用Akamai作为CDN,但我注意到浏览器也在缓存内容.浏览器缓存images/css/js非常棒,但我想知道是否有一种方法可以不在浏览器上缓存,而是在Akamai中缓存.

现在,从我的起源开始,我发送这样的标题:

Cache-Control: public, must-revalidate, max-age=300
Expires: Sun, 19 Feb 2012 19:04:30 GMT
Date: Sun, 19 Feb 2012 18:59:30 GMT
Run Code Online (Sandbox Code Playgroud)

Akamai尊重这些标题,但也将它们传递给用户.这使得浏览器实际上也缓存了内容.

这在大多数情况下都很有用,但我们也有一些CDN逻辑,如果用户有登录的cookie,绕过CDN缓存并直接到源.

因此,如果让一个未经过验证的用户点击"登录",则会通过登录过程发送它们并返回到同一页面.即使CDN会从源页面请求此页面,浏览器实际上再次请求相同的页面,看起来好像登录没有工作.

现在,我可以强制登录过程添加一个查询参数,如?l = 1或者其他什么,但必须有更好的方法.

我很想知道Akamai是否可以将Cache-Control标头覆盖为硬编码的无缓存值,但我想知道是否有办法在源中执行此操作?

谢谢!

akamai cdn http-caching http-headers

14
推荐指数
2
解决办法
2万
查看次数

什么时候主持使用CDN而不是什么时候?

这个问题试图找出是否有必要权衡CDN的好处,转而采用更有条理和更有条理的供应商代码管理.


我知道建议使用CDN来提供像jquery这样的供应商库.

然而,我今天正在阅读有关凉亭的内容,这让我很奇怪.通过bower,我可以以非常有条理的方式轻松管理应用程序的所有依赖项.我最终可以将它们打包在一个vendor.js文件中(使用自耕农,早午餐或简单的咕噜声),它将成为script标签中html中的服务器.

然而,虽然这种方法可以让我的生活更轻松,但它的缺点是什么?我能想到以下几点:

  • 我正在使用的许多库很可能已经缓存在用户的浏览器中.
  • 通过将所有内容放在一个vendor.js文件中,浏览器最终会缓存此文件,但每当我添加新的第三方依赖项时,即每次更改供应商文件时,我都会遇到问题.浏览器必须重新加载该文件(从而丢失原始vendor.sj文件的缓存)

以这种方式,花时间管理html中的依赖关系作为<script>标签,接缝提供更好的性能/加载时间.

你觉得我的思维方式有问题吗?组织代码的好处是说得bower足够有说服力吗?毕竟,它就像骨干一样.是的,骨干应用程序对于小型应用程序来说更重,它包含更多代码..但从开发的角度来看,它是值得的!

干杯(感谢您重新编辑问题的评论!)

jquery cdn bower

14
推荐指数
1
解决办法
2381
查看次数

Jquery无法使用Google CND

我刚开始创建一个html文件,并想使用jquery.当我像这样使用本地机器上的jquery时,它工作正常.

<script src="jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用它时,它不起作用

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

当我像这样加载脚本时,我无法使用任何jquery函数.

我在这做错了什么?

编辑:顺便说一下,我的html文件在驱动器C的本地机器上:/

jquery cdn

14
推荐指数
2
解决办法
7279
查看次数

在Cloudfront Cached Object上设置Access-Control-Allow-Origin

由于" 不允许错误的URI或跨站点访问 "问题,通过Cloudfront提供的字体在Firefox中被破坏.为了解决这个问题,我了解到我需要将"Access-Control-Allow-Origin"标头设置为通配符或源域.

我遇到的问题是,Cloudfront似乎不接受来自原点的标头.

例如,以下是我在服务器上ping字体时获得的标头列表:

curl -I -s "https://mysite.com/wp-content/themes/my-theme/includes/fonts/ProximaNova-Reg-webfont.ttf"
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 29 Jan 2014 16:03:03 GMT
Content-Type: application/x-font-ttf
Content-Length: 44992
Last-Modified: Tue, 28 Jan 2014 22:21:41 GMT
Connection: keep-alive
ETag: "52e82d75-afc0"
Expires: Thu, 29 Jan 2015 16:03:03 GMT
Cache-Control: max-age=31536000
Access-Control-Allow-Origin: https://mysite.com
Access-Control-Allow-Methods: GET
Access-Control-Max-Age: 3600
Accept-Ranges: bytes
Run Code Online (Sandbox Code Playgroud)

这种反应一切都很好看; 但是,当我为同一资源ping Cloudfront时,我得到:

curl -I -s "https://ds6dj5kp03o39.cloudfront.net/wp-content/themes/my-theme/includes/fonts/ProximaNova-Reg-webfont.ttf"
HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 44992
Connection: keep-alive
Date: Wed, 29 Jan 2014 16:22:30 GMT
Server: Apache/2.2.16 …
Run Code Online (Sandbox Code Playgroud)

cdn cors amazon-cloudfront

14
推荐指数
3
解决办法
2万
查看次数

单页应用+ Amazon S3 + Amazon CloudFront + Prerender.io - 如何设置?

  1. 我有使用Backbone.js构建的单页面应用程序.
  2. 我在Amazon S3上托管应用程序(应用程序仅包含静态文件).
  3. 我使用CloudFront作为Bucket CDN.
  4. 应用程序访问 https://myapp.com -> https://abcdefgh34545.cloudfront.com -> https://myBucket.s3-eu-west-1.amazonaws.com/index.html

我如何使用Prerender.io此堆栈的服务?我必须以某种方式检测WebSpider/WebRobot正在访问该页面并将其重定向到prerender.io ...

seo cdn amazon-s3 amazon-cloudfront single-page-application

14
推荐指数
3
解决办法
7757
查看次数

我可以从CDN获取Bootstrap Glyphicons吗?

我是BS的新手.我正在从MaxCDN检索Bootstrap CSS和JS文件的v3.3.6.我希望有一种方法可以包括glyphicons但我看不出怎么做.是否可以从CDN中检索glyphicons?

另外,我不明白Bootstrap下载页面在引用"预编译引导程序"时的含义为什么我需要预编译下载与MaxCDN下载.我看到预编译提供了glyphicons所以也许这是唯一的原因.

cdn twitter-bootstrap glyphicons

14
推荐指数
2
解决办法
4万
查看次数

为什么Amazon Cloudfront如此之慢?

有时dns等待600ms而不是等待另一半秒,这使得90kb文件等待超过1秒.有时pingdom等待时间甚至会显示1秒.如果我尝试另一个测试,它有时会一起到90ms.

我知道第一个请求会花费更多时间,因为cloudfront首先需要从我们的服务器获取文件.我将缓存时间设置为86400 s,这意味着它应该从缓存中获取整个24小时的文件.但是,如果我在第一次测试后仅仅2小时尝试pingdom,它将再次变得很慢.

以下是我的结果和设置.我错过了什么吗? 在此输入图像描述

cdn amazon-cloudfront

14
推荐指数
1
解决办法
9475
查看次数

如何在cdn服务器关闭时加载bootstrap css的本地副本?

截至目前我正在使用这样的javascript

<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/js/bootstrap.min.js"></script>
<script>    $.fn.modal || document.write('<script src="js/bootstrap.min.js">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)

我正在从bootstrapcdn加载bootstrap.css

<link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.2.2/css/bootstrap-combined.min.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

如果cdn服务器关闭,有人可以告诉我如何加载本地副本.?

css jquery cdn twitter-bootstrap

13
推荐指数
1
解决办法
9771
查看次数

CloudFront 上的 IllegalLocationConstraintException(对于 S3)

我已经创建了一个 S3 并且我成功地在存储桶上上传了文件。现在,我试图让它与 CloudFront 一起工作,但它给了我

非法位置约束异常

ap-east-1 位置约束与此请求发送到的区域特定端点不兼容。

我的 S3 网址是:http : //my-bucket-name.s3.ap-east-1.amazonaws.com/assets/local/css/app.css(这会返回文件)

CloudFront 链接到 S3,网址为:https : //id.cloudfront.net/assets/local/css/app.css(这会返回 IllegalLocationConstraintException)


在 S3 存储桶 > 权限 >

“阻止公共访问”已关闭

“存储桶策略”是自动生成的:

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "######"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

cdn amazon-s3 amazon-web-services amazon-cloudfront

13
推荐指数
2
解决办法
5304
查看次数