前端 - 关于引用样式文件或资源文件的版本号问题
習慣沉默
習慣沉默 2017-04-25 09:03:56
0
3
646

有时在引用样式文件或资源文件时会加上版本号
例如:
style.css?v=20140520
background: xxx.jpg?v=201140520
我是菜鸟,有这么几个困惑:

  • 这样的好处和必要性是什么?我只知道一点,避免用户端的缓存而使样式不刷新。请问还有别的考虑吗?
  • 在什么情况下是可以不加的,在什么情况下是必须加的?因为我在读别的网站源码的时候发现有些是加的,有些是不加的。
  • 服务器根据版本号返回相应版本的文件的机制是怎么样的?我之前对svn,git等版本管理工具的认识仅仅停留在团队代码协作工具上。是不是在这个机制里是svn起的作用?具体的流程是怎样的?
  • 如何确定版本号?我看很多代码加版本号的时候是加日期?还有别的方式吗?如何知道自己该加的版本号是什么?
習慣沉默
習慣沉默

全員に返信(3)
Ty80

エンジニアのソースコードが次のように書かれていることを願っています:

リーリー

しかし、オンラインコードは次のようになります:

リーリー

「_82244e91」という文字列は、a.jsファイルの内容を元にハッシュ化して取得されます。ファイルの内容が変更された場合にのみ変更されます。同名のファイルを上書きするのではなく、ファイル名とともにバージョン順を書き込むため、上記の問題は発生しません。同時に、これを行うことには他の利点もあります:

オンラインの a.js は同じ名前のファイルを上書きするのではなく、ファイル名 + ハッシュの冗長性を備えているため、ギャップの問題なく、最初に静的リソースをオンラインにし、次に HTML ページをオンラインにすることができます。 問題が発生してバージョンをロールバックした場合、a.js をロールバックする必要はなく、ページをロールバックするだけです。 静的リソースのバージョン番号はファイル コンテンツのハッシュであるため、すべての静的リソースに対して永続的な強力なキャッシュを有効にできます。更新されたコンテンツを持つファイルのみが有効になります
。 キャッシュの無効化、キャッシュ使用率が大幅に増加;
静的リソースを変更すると、オンラインで1つのファイルが1つのバージョンに対応する新しいファイルが生成されるため、CDNキャッシュ構築の形で攻撃されることはありません

静的リソースのバージョン更新とキャッシュ
いいねを押す +0
某草草
  1. おっしゃる通りです。これの利点と必要性は、ユーザー側でのキャッシュとスタイルの更新が行われないことを回避することです。他には何も関係ありません。
  2. 迅速なバージョンの反復が必要な場合は、ユーザーが時間内に更新しやすくするために、バージョンを追加することをお勧めします。長期間更新されていないページの場合は追加する必要はありません。
  3. 通常、公開およびパッケージ化ツールは、特定のバージョン番号を出力します。
  4. バージョン管理ツールの全体のバージョン番号を選択でき、変更日またはパッケージ化の日付番号を選択でき、カスタマイズされたバージョン番号 (ヘッダー ファイルで手動で指定したバージョン番号など) を選択できます。ニーズに応じて選択してください。一般に、比較的単純な日付番号を使用するだけです。
いいねを押す +0
世界只因有你
  1. 頻繁に変更が必要な静的ファイル用。 変更が行われるたびに、新しいバージョン番号が自動的に生成されます。 ブラウザは新しいファイルをキャッシュします。
    よく使用される場合は追加する必要はありません。 たとえば、カスタマイズが許可されていないサードパーティ製ライブラリを使用している場合、バージョン アップグレードの頻度はそれほど高くありません。 これは省略可能です。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート