Jus*_*oud 2 javascript ssl https html5
HTTPS很快(在初始页面加载时),而HTTPS是安全的.我有一个站点example.com,只有在用户登录时才需要安全(它使用安全cookie进行身份验证).
由于速度是第一印象中最重要的因素之一,我希望提供正常的HTTP页面(http://example.com),然后使用Javascript懒洋洋地升级到HTTPS.
if ( location.protocol === 'http:' ) {
$.ajax({
url: 'https://example.com',
cache: true,
success: function() {
window.top.location.replace('https://example.com');
}
);
}
Run Code Online (Sandbox Code Playgroud)
这样做会导致页面在新页面加载时"闪烁".有没有办法做到这一点,用户不太明显?
闪存将来自第二个https网址的资源/ css /图像等的加载.
虽然http速度更快,但是有一些搜索引擎优化可以让公众面对网站的某些部分https来解决双域问题.
如果他们在登录屏幕上并且您知道他们很快将被重定向到安全的https版本,您可以开始在https协议上预加载资产.
一些HTML5预取可能很好,我如何使用HTML5预加载页面?
<link rel="prefetch" href="/path/to/prefetch" />
您可以使用https协议链接到http站点上的所有资产,无需预加载.这可能会增加不在https版本上的任何人的开销.因此,您可能只想在https上加载徽标/标题图形和css/js.这将改善感知性能,当域切换主要资产和样式将像任何其他重新加载一样快速到位.
最终的解决方案是将资产推送到像Amazon Web Services这样的内容交付网络.因此,两个域都加载相同的资产,您必须使用https,否则在链接到域http时会收到警告https.当用户切换浏览器时,已经拥有所有资产的缓存副本.这将加快页面加载速度.对于浏览器具有的并发请求限制(在6到8之间),这意味着您的服务器将提供HTML等重要内容,并且浏览器可以同时从CDN加载资源.
回到主题,考虑协议升级,我会开始研究Google的SPDY.Chrome Firefox Opera和IE11都有支持.它比HTTP或HTTPS 更安全,更快.结合一些WEBP图形加载CDN,你将面临接近光速的危险. http://en.wikipedia.org/wiki/SPDY#Browser_support_and_usage
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |