为什么一些主要、复杂网站的HTML类被写成看似毫无意义的字母字符串?

为什么一些主要、复杂网站的HTML类被写成看似毫无意义的字母字符串?,html,css,Html,Css,例如,我刚刚查看了Google的一个页面,看到一个类写为yjfg Ws IY fW Zf。这是不是让任何想了解谷歌是如何做到这一点的人感到困惑?如果你是谷歌的开发人员,你应该如何记住这一点,尤其是在你的所有其他类中?或者其他将来需要修改代码的人呢 这样编码有什么好处吗?为了使页面更小,从而更快地发送给用户,大多数主要网站缩小了文件,特别是javascript和css文件。这个手术通常 连接文件以减少请求数 删除注释 删除无用的空格和CR 将长变量名更改为短变量名 执行此操作的工具之一由Goo

例如,我刚刚查看了Google的一个页面,看到一个类写为
yjfg Ws IY fW Zf
。这是不是让任何想了解谷歌是如何做到这一点的人感到困惑?如果你是谷歌的开发人员,你应该如何记住这一点,尤其是在你的所有其他类中?或者其他将来需要修改代码的人呢


这样编码有什么好处吗?

为了使页面更小,从而更快地发送给用户,大多数主要网站缩小了文件,特别是javascript和css文件。这个手术通常

  • 连接文件以减少请求数
  • 删除注释
  • 删除无用的空格和CR
  • 将长变量名更改为短变量名
执行此操作的工具之一由Google提供:。这是一件容易做到的事情,当你开始关注显示器的速度或带宽时,没有理由忽略它


一些开发人员可能会使用它来保护他们的源代码,但这不是最常见的原因。

这是为较小的页面大小而做的。当你提供谷歌所提供的页面数量时,减少几个字节会对你使用的带宽产生巨大影响。

节省字节,从而节省带宽?我认为甚至有一些程序可以简化源代码,因此作为一名开发人员,您不必记住甚至不必知道短名称。

这样做有两个原因。通常是为了减小网站的大小。所有站点代码都被缩短,名称被替换为我的更短版本,例如从该服务器(SERVICEC、parameterABC)下载的
tellmethestuff替换为
a(b,c)。如果有人想阻止他的代码被访问者阅读,你也很少看到这种做法,尽管这显然不是很有效

这样你就不会从他们的名字中了解他们的设计了 上课。它可能会回来伤害他们。类的名称不可用 随便什么,都是想法。它们是框架

你还能发现多少。你可以马上发现Ebay已经 所有产品都使用相同的处理程序类,并且该处理程序是一个胜利 具有2个传递给它的属性的处理程序。当然,这不是问题所在 缩小的刻板印象,但大多数网站都有 URL将其编码为散列以避免安全威胁以及 设计漏洞

会有点像 ;

在URL上输入无意义的内容


反过来,节省了大量的美元(字面上是数百万美元),"Yj Fg Ws IY fW Zf"和,比如,,
Video Div
或类似的东西?第一个示例看起来有6个类已经“缩小”,所以它可能是
className1 class2另一个class3 class4第五类lastClass6
。你还必须记住,谷歌正在处理数以亿计的页面请求。即使保存一个字节,多次保存也会累加。@jeremygburton,是的,每个字符都是一定数量的字节,将更少的字符流到浏览器意味着通过网络传输的字节更少,意味着发送回复的时间更少,意味着服务器忙于处理单个请求的时间更少,意味着服务器处理的时间更少,这意味着CPU产生的热量减少,意味着CPU和冷却装置的电力消耗减少,意味着技术公司的边际成本节约。这很有趣。你是说,一个缩小代码的工具会采用一个有意义的类,比如
Photos
,并自动将其转换为
FkdhY
或其他任何类型,但开发人员的源代码仍然有足够的意义,可以在后端使用?它通常会在“Er”中转换“Photos”,但是的,这就是问题的关键:你可以保持你众多的源文件清晰,并充满评论,而minifier会构建你的用户看到的网站版本。就我个人而言,我总是(自动)部署两个版本:一个是缩小版,另一个不是缩小版。请注意,在未来的源代码映射将只允许我们有一个(缩小)版本。感谢您的深入了解。Re:不过最后一点。。。源代码映射?缩小变量名的效果很小,几乎不值得,特别是如果你的内容是gzip格式的。出于调试目的,我更喜欢在生产环境中使用可读的名称。对于每天为数十亿网站提供服务的谷歌来说,情况可能不同。@Pumbaa80我也不会缩小变量名(在javascript中,最后一个操作可能会带来它自己的陷阱),但你不需要调试缩小的代码。即使没有源地图,你也可以同时部署一个缩小的应用程序和一个非缩小的应用程序。我很确定google使用的是定制的、自动缩小的,所以开发者可能仍然使用像
超级棒表单字段
这样的名称,迷你们会在生产中的任何地方使用
jQ
来取代它。正如其他人所指出的,易趣做出这种改变是为了缩小规模,而不是为了混淆。你可以查看易趣,他们没有后者的URL。他们有前一个URL,它告诉了你很多关于eBay的运作方式,至少对亚马逊是这样。在云计算时代,节省几位n字节不会让你有任何收获,特别是对于处理TB数据的公司来说,由于复杂的原因,IMHO硬件的利用率很低,我同意正确的答案仅供参考。这真是鸟瞰图,而我的可能是飞机视图。你一定从未在大型网络公司工作过。这是因为它们每天处理数TB的数据,因此需要节省“几”(这不是cas)