• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > Google 的 HTML 代码看着很乱,为什么要写成这样呢?

Google 的 HTML 代码看着很乱,为什么要写成这样呢?

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html等相关知识,匿名希望在学习及工作中可以帮助到您
他的html代码用了什么不常用的技术..

回复内容:

我们在编写代码的时候常常用了很多空格或者缩进,这样一眼就能看出大概写什么,比如html在最左端,head和body往右边缩进一点,if,div什么的相对与head或body也向右边缩进一点。

这主要是为了给人看,但是多了这么多空格,可读性是增加了,可是页面的大小却大了。

如果压缩掉,原先10K的可能变成6K,那么就节省了4K,100个用户原先要下载1000K的,现在只要600K,流量就节省了400K,GOOGLE浏览量那么大,1000万用户呢?一亿用户呢?这样可以节约流量。
反正99%的人没事不会去看google的源码,可读性不重要,google内部是有带了空格的可读性好的版本,如果想改代码,改完了再压缩,才放上去。还有的看起来比较乱不是html也不是javascript等语言的,那么肯定就是加密过了的。跟乱码似的,但是浏览器还是能读出来

=== 下面内容更新于 2014-12-12 ===

Why does Google use inline JavaScript and CSS on its homepage?
这个同样也是为了节省请求次数,加快速度,节省流量。【Quora】 基本的道理,郑诚的回答已经很清楚了

对于想更深入了解的,可以参考一下雅虎的前端优化XX条(记得最开始看的时候还是14条,现在已经34条了,天……)

对于已经看过这些原则,早已了然于胸的,我再补点料。
google首页可能是有史以来pv最高的页面,其优化也比较极端,极端到以下两种做法我在别的网站从来没见到过(我没有详细考证google的其他页面是否也有这样的处理):

1. 在服务器端处理跨浏览器兼容,根据User-Agent返回不同的页面内容
对于跨浏览器兼容,传统的做法包括:用js判断浏览器类型做不同处理、使用css hack、浏览器私有标记/属性。总而言之,在浏览器端搞定兼容性。
但这并不是唯一的解决方案,更不是对用户最优的。如果能承受工作量,可以做到在服务器端处理,则兼容性相关的代码不必传给用户,可以节省相关的网络流量。而google首页就是这样做的。
可以给firefox装个ua switcher,一试便知。

我觉得,大多数网站,可能没有这种页面简单,而又pv巨巨高的页面来玩这套。但将工作量向服务器端转移,可以成为一种思路,比如jquery库中,很多代码在处理特定浏览器中的问题,那不妨分浏览器编译出若干版本,在体积和执行效率上都有优势。

2. 为减小页面体积,不惜违背规范
这个要只是属性不写双引号之类的,也就不拿出来说事了。
但你打开google首页,找不到和,这是故意的。
我仿佛记得历史上,在google首页还没有+1的时候,曾经看过对ie一些版本故意不声明doctype和,直接写内容,在quirks模式下排版,从而将体积压缩至极限的做法,不过现在无从证实了。
(注:http://g.cn目前仍是这种风格,不过http://g.cn不同浏览器的代码是相同的)

这种玩法,我觉得看个热闹就行吧,玩火容易烧到自己。不过倒是可以顺便消除一些对规范,对w3c验证的宗教化心态。毕竟应该重视的,是最终效果和源代码。html这种中间产物,够用就行:) Google的前端绝大部分是通过javascript库Closure来实现的,通过javascript代码动态生成html代码,所以Googler们不直接写html,也就不在意html是否整齐可读,只需维持javascript代码的可读性和可维护性即可。

此外,Closure引进了javascript编译的概念,可以通过编译,对javascript代码进行优化,压缩,混淆等操作,也就实现了节省流量的目的。

前面有朋友提到Google主页不规范的问题,正是由于使用了Closure。仔细观察,就会发现页面源代码被大量混淆的javascript代码占据,留下一些零散的html作为占位符,或者存储一些常量。如果使用firebug之类的前端开发工具的话,就能看到被javascript动态改写后的规范的HTML DOM了。
  • Closure库的链接:
http://code.google.com/closure/
  • Closure推荐书籍:
http://www.amazon.com/Closure-Definitive-Guide-Michael-Bolin/dp/1449381871 开发时都是很整齐,并且备注齐全。但上线时都经过过滤,把最简化的纯编译内容变成页面。用户要的只是结果,这样又节余流量。 不是的。是经过压缩了,节省了文件的空格空间。 对于像Google这类访问量巨大的网站,压缩出来的都是钱。 哪里的,应该是放到产品环境下给压缩了。

您可能想查找下面的文章:

相关文章

  • 2018-12-03HTML5游戏框架cnGameJS开发实录-外部输入模块篇
  • 2018-12-03如何评价Hex FRVR?
  • 2018-12-03看HTML5的七大优势“逼宫”APP
  • 2018-12-03小强的HTML5移动开发之路(46)——汇率计算器【2】
  • 2017-08-06用html5的canvas和JavaScript创建一个绘图程序的简单实例
  • 2018-12-03 html5简单拖拽实现自动左右贴边和幸运大转盘的示例代码
  • 2017-08-06使用CSS实现弹性视频html5案例实践
  • 2018-12-03HTML5画布Canvas图片抽取、像素信息获取、命中检测
  • 2017-08-06Html5 audio标签样式的修改
  • 2017-08-06HTML5进阶段内联标签汇总(小篇)

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 利用HTML5 Canvas制作一个简单的打飞机游戏
    • App三年内是否将被HTML5顶替彻底消失?
    • 详解7款绚丽的jQuery/HTML5动画及源码
    • HTML5+CSS3:3D展示商品信息示例
    • HTML5新特性之跨文档消息传输详解
    • h5输入框提示语 + 正常文本框提示语的实现方法
    • HTML5实战-canvas绘制钟表的示例代码分享
    • HTML5: Web 标准最巨大的飞跃_html5教程技巧
    • 关于iphoneX 适配客户端H5页面的问题
    • canvas渐变色:canvas如何实现渐变色的效果?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有