Css 整个网站是否自动缓存(谷歌使用<;style>;)?

Css 整个网站是否自动缓存(谷歌使用<;style>;)?,css,caching,http-caching,Css,Caching,Http Caching,我听说样式表被缓存,但是常规页面(像我们现在使用的页面)被缓存了吗?我注意到,在谷歌最近创建的网站上,他们甚至没有使用样式表,只是一个带有一行压缩CSS的标记。这让我相信整个页面(包括)是缓存的,而不仅仅是样式表。我说的对吗?为什么谷歌不使用样式表,并希望在其网站每月被浏览数十亿次时缓存CSS呢 据我所知,Chrome的inspect元素的“网络面板”中出现的所有内容都被缓存了吗 我研究了“PHP缓存”,但这似乎是针对include,所以我猜页面已经被自动缓存了。查看此帖子: 在部分中使用标记。

我听说样式表被缓存,但是常规页面(像我们现在使用的页面)被缓存了吗?我注意到,在谷歌最近创建的网站上,他们甚至没有使用样式表,只是一个带有一行压缩CSS的
标记。这让我相信整个页面(包括
)是缓存的,而不仅仅是样式表。我说的对吗?为什么谷歌不使用样式表,并希望在其网站每月被浏览数十亿次时缓存CSS呢

据我所知,Chrome的inspect元素的“网络面板”中出现的所有内容都被缓存了吗

我研究了“PHP缓存”,但这似乎是针对
include
,所以我猜页面已经被自动缓存了。

查看此帖子:

部分中使用
标记。 在PHP代码中使用:

<?php
 Header("Cache-Control: must-revalidate");
 $offset = 60 * 60 * 24 * 3;
 $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
 Header($ExpStr);
?>

缓存是关于与单个URL对应的资源,而不是关于站点。基本上,可以缓存各种资源,如HTML文档、图像、样式表、JavaScript代码、纯文本等。因此,作为实体的站点不会被缓存,“整个页面”(HTML文档+其中使用的图像+它所指的样式表+…)也不会被缓存。但每个组件都可以缓存在自己的URL下

谷歌在一些非常短的样式表中使用嵌入的
style
元素,可能是因为他们认为这比使用外部CSS文件更有效。HTML文档可以很好地缓存,但即使不缓存,它们的方法也比使用外部样式表快一点,这可能会导致HTTP开销


但对于在站点的不同页面上使用的任何非平凡CSS代码,外部CSS文件更有效。当用户第一次访问您的站点时,它将被加载(HTTP开销很小),但当用户在您的站点上移动时,浏览器将在其自身的缓存中包含CSS代码。

您需要了解HTTP缓存头。看看Google,它远远超出了缓存文件的问题。如果你使用他们的浏览器和/或操作系统,他们甚至不会使用HTTP(他们可能会使用SPDY)。他们一次要做数百个A/B测试。为全世界数十个登录用户提供服务。对我们任何人来说,这都是过度优化。不要试图模仿你在他们网站上看到的一个功能,可能有几十个因素导致他们使用它,而我们忽略了这些因素,以及多年的经验。谷歌网页速度和速度!对于大多数项目来说都足够好了。然后你可以阅读史蒂夫·苏德斯和其他人写的关于这个主题的文章。@FelipeAls谢谢,我不会的,我只是好奇他们网站上的奇怪技术:)啊,我明白了。我总是不使用缓存进行开发。为什么谷歌不在他们所有的网站上使用样式表呢?@ArthurHamla:你能总结一下链接中的重要内容吗?谷歌使用类似Nginx服务器的东西来缓存整个页面。还有CDN服务器等。你可以传递标题(使用你的web服务器)让用户客户端在一段时间内对你的页面进行本地缓存。或者,您可以将相关的元标记放到HTML标记中。有很多可行的方法可以做到这一点。@Adam184谷歌可能在多个网站上共享一个样式表,但他们已经决定让一些人将其内联,以减少请求数量并加快页面速度load@AndyDavies谢谢:)谷歌的一些做法似乎不规范,例如大约一个月前,他们的谷歌主搜索页面使用了三个s作为一个搜索栏。我不确定他们是想淘气,还是真的有原因,哈哈。在一些页面上,他们把所有的东西都放在标签上。。。但是我决定。。。谁在乎?!?!英雄联盟