注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

学会珍惜

You've been saying for the longest time

 
 
 

日志

 
 

名站分析之FACEBOOK  

2013-02-04 10:11:57|  分类: 前端开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
转自互联网

  1. 在html标签中添加class来标识浏览器是否开启了Javascript功能,并且在body标签中使用class来标识当前所使用的浏览器,并对该浏览器使用相应的样式,这个是优雅的伪hack的方式。
  2. 同样是使用了跟Twitter一样的noscript标签的检测,但是使用了这个之后,再在html标签里使用class来标识当前页面是否开启了Javascript功能,缈似有些多余。
  3. 将页面的HTML代码最大化的压缩。由于facebook的页面很大一部分是有js生成的,数据是json的结构,这个比HTML包装好的数据会小很多,所以在加载上会更快一些,至于到了使用js将json解析出来并且渲染开来的时间跟直接在服务端拼装好HTML代码直接由服务端返回来进行对比,那么就需要一个可靠的工具来衡量了,不能直接通过理论来分析。将页面中的HTML代码最大化的压缩,这些可以使用系统压缩的HTML代码一般都是比较固定的代码片段,所以使用工具压缩也比较有保障,不会出现问题。而使用json结构,按照一个约定的接口,是可以最大化的压缩的。所以fackbook在这个的衡量上把握的比较好。
  4. 将页面进行模块分析,动态的模块,或者是个性化的模块(因每个用户所不同),使用js对模块的HTML,CSS、Javascript进行管理,各个模块只要负责自己的功能、样式、结构就行了。虽然看起来加载了很多的js、css文件,但是都是通过动态加载的方式,可以并行加载,只是在执行的时候会阻塞页面的渲染而已。最大化的利用浏览器的并发数来加载文件。并且将css、js都放置到一个独立的CDN子域名下,减少DNS Lookup查询的时间。
  5. 页面中所有隐藏的内容,都是通过异步加载,无处不在的异步加载,最小化在初始化中所呈现出来的页面的代码。
  6. 在源码中看到了这样的meta声明:<noscript><meta http-equiv=”X-Frame-Options” content=”deny” /></noscript>它的作用主要是防止ClickJacking漏洞的。它现在支持下面两个value:
SAMEORIGIN – allows only sites from the same domain to frame the page
DENY – prevents any site from framing the page
http://blog.mozilla.com/security/2010/09/08/x-frame-options/
  评论这张
 
阅读(109)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017