2009-10-23 52 views
8

Googleのウェブサイトの一部を書き直し、ユーザーのブラウザのキャッシュを最大限に活用しようとしています。私たちは、作成した複数のサイトにわたって「コーポレートブランディング」として使用する予定の共有された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" /> 


<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

一般に、私は、どこかのシステムが間違ったことをするという前提のもと、同様に名前のついたものを区別するために大文字小文字を使用することは避けます。すべての命名規則の1つのケーシングルールに従うことをお勧めします。可能性のあるすべてのWeb環境をチェックするよりも、コード内の大文字と小文字の問題を見つけ出すスクリプトを作成する方が簡単です。 –

答えて

4

URLは大文字と小文字が区別されるため、常に特定のケースを使用することをお勧めします。簡単にするために、すべてを小文字にすること(および単語をダッシュ​​で区切ること)をお勧めします。これは、SEOの目的でページ名や画像にもおすすめです。

ブラウザは、サーバーが同じことをしているかどうかわからないため、異なるケースを異なるファイルとして扱います。したがって、Style/Screen.cssへのリンクがある場合、ブラウザはstyle/screen.cssのキャッシュを使用しません。

1

のURLの大文字と小文字が区別され、そしてブラウザはstandard-異なる場合が別のファイルであることを従ってください。しかし、私は上記の例を使用することを躊躇しています。ブラウザによっては標準のプロトコールに従わないかもしれないからです(たとえば、Windowsでは大文字と小文字が区別されないと思います。ファイル')。

1

ブラウザは、URLの異なるケーシングを区別します。一部のWebサーバーでは、ケーシングごとに異なる結果が返されるためです。

Windows Webサーバーはケーシングについて気にしませんが、Linusサーバーは気にしません。ファイルがLinuxサーバー上にある場合は、間違ったケーシングを使用してHTTP 404を取得します。

+0

私のデスクトップはWindowsですが、私のサーバーはLinuxです。グラフィックスプログラムが拡張子 ".JPG"のファイルを書き込むときはいつも燃え尽きましたが、私のリンクは ".jpg"と書かれています。 Windows上でテストするとうまく動作しますが、Linuxにアップロードすると、404となります。混在したケースを意図的に混乱させるだけで、問題を解決することができます。 – Jay