戴夫沃德说,
它并不完全是轻量级读取,但RFC 3986的4.2节提供了完全限定协议(HTTP或HTTPS)的完全限定URL.当省略URL的协议时,浏览器将使用基础文档的协议.
简而言之,这些"无协议"URL允许这样的引用在您尝试使用的每个浏览器中工作:
//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js一开始看起来很奇怪,但这种"无协议"URL是引用通过HTTP和HTTPS提供的第三方内容的最佳方式.
这肯定会解决我们在HTTP页面上看到的一堆混合内容错误 - 假设我们的资产可通过HTTP和HTTPS获得.
这是完全跨浏览器兼容吗?还有其他警告吗?
我想从CloudFront提供我的压缩CSS/JS(他们生活在S3上),但我无法通过settings.py中的压缩器设置来解决这个问题,我有以下内容:
COMPRESS_OFFLINE = True
COMPRESS_URL = 'http://static.example.com/' #same as STATIC_URL, so unnecessary, just here for simplicity
COMPRESS_STORAGE = 'my_example_dir.storage.CachedS3BotoStorage' #subclass suggested in [docs][1]
COMPRESS_OUTPUT_DIR = 'compressed_static'
COMPRESS_ROOT = '/home/dotcloud/current/static/' #location of static files on server
Run Code Online (Sandbox Code Playgroud)
尽管有COMPRESS_URL,我的文件正在从我的s3存储桶中读取:
<link rel="stylesheet" href="https://example.s3.amazonaws.com/compressed_static/css/e0684a1d5c25.css?Signature=blahblahblah;Expires=farfuture;AWSAccessKeyId=blahblahblah" type="text/css" />
我想问题是我想将文件写入S3,但是从CloudFront读取它.这可能吗?