Если я решаю использовать last_modified_time файла javascript или css и использую его временную метку unix в качестве ключа в имени, чтобы сэкономить кеш при изменении файла. В чем разница между следующими двумя практиками? filename: my_script.js и timestamp: 1321951817
1/Файл включается как:
<script type="text/javascript" src="http://example.com/js/my_script.js?v=1321951817"></script>
Следовательно, параметр строки запроса создает новый кеш при каждом изменении v
.
2/Файл включается как:
<script type="text/javascript" src="http://example.com/js/my_script.1321951817.js"></script>
Имя файла изменяется с каждой модификацией, правило перезаписи удаляет временную метку и указывает запрошенный url на my_script.js
3/ ОБНОВЛЕНИЕ: ОДИН БОЛЬШЕ МЕТОДА НА ОСНОВЕ ОТВЕТОВ НИЖЕ: файл переименовывается и включается как:
<script type="text/javascript" src="http://example.com/js/my_script.1321951817.js"></script>
Имя файла будет изменено и не будет использоваться REWRITE RULE.
Вопрос. Являются ли эти два метода по своей сути одинаковыми или существуют какие-либо преимущества/недостатки использования параметров строки запроса вместо прямого имени файла.