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

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

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

répondre à tous(3)
Ty80

Nous espérons que le code source de l'ingénieur est écrit comme ceci :

<script type="text/javascript" src="a.js"></script>

Mais le code en ligne est comme ceci :

<script type="text/javascript" src="a_82244e91.js"></script>

La chaîne de caractères "_82244e91" est obtenue par hachage basé sur le contenu du fichier a.js. Elle ne changera que si le contenu du fichier change. Étant donné que la séquence de versions est écrite avec le nom du fichier au lieu d'écraser le fichier portant le même nom, les problèmes mentionnés ci-dessus ne se produiront pas. En même temps, cela présente d’autres avantages :

L'a.js en ligne n'est pas un écrasement du fichier du même nom, mais la redondance du nom du fichier + hachage, donc les ressources statiques peuvent être en ligne d'abord, puis la page html, sans aucun problème de manque ;
Lorsque vous rencontrez un problème et restaurez la version, il n'est pas nécessaire de restaurer a.js, il suffit de restaurer la page
 ; Étant donné que le numéro de version de la ressource statique est le hachage du contenu du fichier, une mise en cache forte permanente peut être activée pour toutes les ressources statiques. Seuls les fichiers dont le contenu est mis à jour le seront
. Invalidation du cache, utilisation du cache considérablement augmentée
Après modification des ressources statiques, de nouveaux fichiers seront générés en ligne. Un fichier correspond à une version, il ne sera donc pas attaqué sous forme de cache CDN

.

Mise à jour et mise en cache de la version des ressources statiques

某草草
  1. Vous avez raison. L'avantage et la nécessité de cela est d'éviter la mise en cache côté utilisateur et d'empêcher l'actualisation du style. Rien d'autre ne compte.
  2. S'il est nécessaire d'itérer rapidement la version, il est recommandé de l'ajouter pour faciliter la mise à jour des utilisateurs à temps. S'il s'agit d'une page qui n'a pas été mise à jour depuis longtemps, il n'est pas nécessaire de l'ajouter.
  3. Habituellement, les outils de publication et d'empaquetage sont responsables de la sortie du numéro de version spécifique.
  4. Vous pouvez choisir le numéro de version global de l'outil de gestion de version, vous pouvez choisir le numéro de date de modification ou de packaging, vous pouvez choisir n'importe quel numéro de version personnalisé (comme le numéro de version spécifié manuellement dans le fichier d'en-tête), bref, vous pouvez le choisir en fonction de vos besoins. Généralement, utilisez simplement le numéro de date, ce qui est relativement simple.
世界只因有你
  1. Pour les fichiers statiques qui doivent souvent être modifiés. Un nouveau numéro de version est automatiquement généré après chaque modification. Le navigateur mettra en cache le nouveau fichier.
    Vous n’avez pas besoin de l’ajouter s’il est couramment utilisé. Par exemple, si vous utilisez une bibliothèque tierce dont la personnalisation n'est pas autorisée, la fréquence des mises à niveau de version ne sera pas très élevée. Cela peut être omis.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal