ASP.NET MVC与亚马逊cloudfront-YSlow的F级烹饪文件免费域



我正在使用Amazon Cloudfront CDN为ASP提供资产服务。NET MVC网站。当我使用YSlow分析我的网站时,我得到了使用无cookie域的F级。它特别指出,Cloudfront上托管的资产是被标记如下URL(这不是真正的资产(的罪魁祸首:

https://mywebsiteassets.s3.amazonaws.com/Images/back.png

有没有办法让Cloudfront cookie免费?这需要在客户端或服务器级别上完成吗?

谢谢

JP

此警告表明您正在使用单个域(如example.com(来托管您的网站,包括动态和静态资源。据推测,您还创建了CloudFront分发来加快内容交付。我将其称为d123.cloudfront.net

当用户在您的网站上授权时(您没有明确表示,但我认为这是服务器设置一些浏览器cookie时最常见的情况(,您的浏览器会保存会话ID(或类似(cookie,并在每次请求时将其发送回服务器。然后,您的服务器使用该cookie对用户进行身份验证,并允许他访问私人内容部分。

您通常不需要授权访问静态资源,例如图像、CSS和JavaScript文件。然而,浏览器在请求此类资源时仍会发送cookie,浪费了客户端(和服务器(的几个字节带宽。

您想要做的是将静态资源和动态资源分开。例如,您可以设置单独的CloudFront分发版(比如d999.CloudFront.net(来交付您的图像。浏览器不会发送我在d123.cloudfront.net上请求身份验证的cookie,同时从d999.cloudfront.net请求图像。

最新更新