2013-02-12 131 views
0

为了尝试学习一些关于Facebook及其编码技术的知识,我查看了他们的源代码。这里有一两件事,我发现:Facebook编码技术

<link rel="stylesheet" href="https://fbstatic-a.akamaihd.net/rsrc.php/v2/yN/r/JUrfX0ucXVq.css" /> 
<link rel="stylesheet" href="https://fbstatic-a.akamaihd.net/rsrc.php/v2/y2/r/gpxPzqCou0g.css" /> 
<link rel="stylesheet" href="https://fbstatic-a.akamaihd.net/rsrc.php/v2/yD/r/OWwnO_yMqhK.css" /> 

我的问题是关于Facebook如何组成自己的目录结构,文件名&。很显然,这些css文件没有被命名为可读性。这些随机文件名有什么原因吗?有人可以提供关于此的任何信息吗?提前致谢。

+0

它不是你想象的目录结构,其对资源的途径。当更改完成后,系统/ CDN将更改thos值。 – 2013-02-12 01:05:21

回答

1

CSS文件被赋予随机文件名以防止浏览器缓存它们。

当浏览器缓存资源时,它将下载该文件并将其保存在用户的计算机上,以防止多次下载同一文件。问题是,如果您更改CSS文件并保持文件名相同,浏览器将继续使用该文件的缓存版本,并且不会下载更新的版本。通过给CSS文件提供唯一的名称,浏览器被迫下载它们。

这类似于在CSS文件这样做:

<link rel="stylesheet" href="style-v1.css" /> 
<link rel="stylesheet" href="style-v2.css" /> 
<link rel="stylesheet" href="style-v3.css" /> 
... 
+0

页面刷新时发生这种变化吗? – JaPerk14 2013-02-12 00:45:32

+0

@ JaPerk14:有什么变化? – Blender 2013-02-12 00:45:42

+0

nvm。感谢你向我解释 – JaPerk14 2013-02-12 01:00:12