2009-10-23 81 views
8

我们正在重写我们的一些网站,并试图为我们的用户充分利用浏览器缓存。我们已经创建了一组共享的css文件,我们计划将这些文件用作我们创建的多个网站上的“企业品牌”。CSS文件名大小写敏感&Css文件缓存

原因是,我们知道浏览器会将CSS文件缓存一段确定的时间。如果我使用不同的外壳在不同的站点中指定相同的文件名,那么它会缓存两个文件的版本(即使它们是相同的内容),还是会识别它是同一个文件,从而忽略文件名的大小写


<link href="http://branding.corporateentity.com/style/screen.css" type="text/css" /> 
<link href="http://branding.corporateentity.com/style/print.css" type="text/css" /> 

VS:


<link href="http://branding.corporateentity.com/Style/Screen.css" type="text/css" /> 
<link href="http://branding.corporateentity.com/Style/Print.css" type="text/css" /> 
+1

总的来说,我假设某个系统会在某个地方做错事,所以避免用案例来区分类似命名的东西。最好坚持所有命名的一套外壳规则。您可以更轻松地制作脚本来查找代码中的案例问题,而不是检查可能正在使用它的每个可能的Web环境。 – 2009-10-23 15:37:28

回答

4

网址区分大小写,所以最好的办法是始终使用特定的情况。为了简单起见,我建议将所有内容都设为小写(并用短划线分隔文字)。这也建议您的页面名称和图像,为搜索引擎优化的目的。

浏览器会将不同的文件视为不同的文件,因为他们不知道服务器是否执行相同的操作。因此,如果浏览器看到指向Style/Screen.css的链接,将不会使用其缓存style/screen.css

1

网址的是大小写敏感的,和浏览器遵循标准 - 不同情况下是不同的文件。然而,我会毫不犹豫地使用上面的例子,因为一些浏览器可能不遵循标准协议(例如,我认为Windows不区分大小写,并且不知道是否某些可悲的旧浏览器无法区分'文件'和'文件')。

1

浏览器将始终区分不同的URL中的大小写,因为一些Web服务器返回不同的结果不同的结果。

Windows网络服务器不关心套管,但是Linus服务器。如果该文件位于Linux服务器上,则会使用错误的外壳获取HTTP 404。

+0

我的桌面是Windows,但我的服务器是Linux。偶尔我会在图形程序写入一个扩展名为“.JPG”的文件时烧毁,但我的链接写成“.jpg”。当我在Windows上测试时,它工作正常,但是当我上传到Linux时,404。故意混淆混合情况只是为自己设置了麻烦。 – Jay 2009-10-23 16:28:36