解析:
浏览器同一时间可以从一个域名下载多少资源?你的浏览器能同时保持对一个域名的
多少连接?
三个最主流的原因:
CDN 缓存更方便
突破浏览器并发限制 (你随便挑一个 G 家的 url: https://lh4.googleusercontent.com/-
si4dh2myPWk/T81YkSi__AI/AAAAAAAAQ5o/LlwbBRpp58Q/w497-h373/IMG_20120603_163233.
jpg, 把前面的 lh4 换成 lh3,lh6 啥的,都照样能够访问,像地图之类的需要大量并发下载图
片的站点,这个非常重要。)
3Cookieless, 节省带宽,尤其是上行带宽 一般比下行要慢。。。
还有另外两个非常规原因:
对于 UGC 的内容和主站隔离,防止不必要的安全问题( 上传 js 窃取主站 cookie 之类
的) 。
正是这个原因要求用户内容的域名必须不是自己主站的子域名,而是一个完全独立的
第三方域名。
数据做了划分,甚至切到了不同的物理集群,通过子域名来分流比较省事. ^_^ 这个可
能被用的不多。
PS: 关于 Cookie 的问题,带宽是次要的,安全隔离才是主要的。
关于多域名,也不是越多越好,虽然服务器端可以做泛解释,浏览器做 dns 解释也是
耗时间的,而且太多域名,如果要走 https 的话,还有要多买证书和部署的问题,^_^。
请说出三种减少页面加载时间的方法。(加载时间指感知的时间或者实际加载时间)
解析:
优化图片
图像格式的选择(GIF:提供的颜色较少,可用在一些对颜色要求不高的地方)
优化 CSS(压缩合并 css,如 margin-top,margin-left…)
网址后加斜杠(如 www.campr.com/目录,会判断这个”目录是什么文件类型,或者是
目录。)
标明高度和宽度(如果浏览器没有找到这两个参数,它需要一边下载图片一边计算大小,
如果图片很多,浏览器需要不断地调整页面。这不但影响速度,也影响浏览体验。
当浏览器知道了高度和宽度参数后,即使图片暂时无法显示,页面上也会腾出图片的空
位,然后继续加载后面的内容。从而加载时间快了,浏览体验也更好了。)
减少 http 请求(合并文件,合并图片)。
如果你参与到一个项目中,发现他们使用 Tab 来缩进代码,但是你喜欢空格,你会怎
解析:
么做?
建议这个项目使用像 EditorConfig (http://editorconfig.org/) 之类的规范
为了保持一致性,接受项目原有的风格
直接使用 VIM 的 retab 命令
解析:
如果不使用 JS 来完成,可以加分。(如:纯 CSS 实现的幻灯片效果)
可以采用 CSS3 的单选按钮 radio 来实现图片的切换
解析:
Profiler, JSPerf(http://jsperf.com/nexttick-vs-setzerotimeout-vs-settimeout), Dromaeo