Заставить браузер пользователя сохранять файлы в кеш - PullRequest
0 голосов
/ 23 сентября 2010

Мой веб-сайт - это музыкальный онлайн-портал с системой онлайн-воспроизведения.

Когда пользователь воспроизводит песню, она обслуживается сервером nginx через порт 8080 на моем сервере.

Проблема в том, что когда песня закончилась, проигрыватель повторяет песню.Но каждый раз, когда он воспроизводится, он делает еще один вызов на сервер и начинает загрузку файла снова для воспроизведения.

Ранее у меня был apache для обслуживания этих файлов.В то время пользователь просто запрашивал файл один раз, и повторы воспроизводились из его кеша.Как я могу добиться этого, используя nginx

[Я не использую какой-либо сценарий, как php или около того, чтобы обслуживать файл.Это просто прямая ссылка.Нравится http://www.myserver.com:8080/music/song1.mp3]

1 Ответ

0 голосов
/ 24 сентября 2010

Было бы очень полезно увидеть некоторые из ваших прежних настроек Apache и текущей конфигурации Nginx, чтобы увидеть, как они настроены на размещение заголовков истечения срока действия для исходящих файлов. Как вы, наверное, знаете, это не надежный способ принудительного кэширования, но он звучит так, как будто «достаточно хорошо» подойдет вам. Попробуйте блок конфигурации Nginx в вашем блоке server{}, который выглядит следующим образом:

location ~* \.(mp3)$ {
    expires max;
}

Это должно установить дату окончания срока действия ваших файлов и побудить браузер кешировать их дольше.

...