Нормально вроде работает и ничего не захламляет. Но я изменял бы GET-параметр только при изменении самого файла, а не при каждом запросе.
Ну заголовки отправляет сервер - либо энджинкс, либо апач. Так что "без всякого" не получится. Либо формировать отправку файла вместе с заголовком через PHP.
GET - надо подставлять не случайное число, а MD5 или, например, дату и время. Это отличная идея, спасибо! Так лишних файлов в кэше будет поменьше. А отправлять файл вместе с заголовком через PHP - это, как я опять-таки прочитал, здорово сильно нагружает оперативную память и для медиа-файлов просто неприемлемо. Видимо, это не вариант. А ещё у меня закрадывается мысль, что я зря пытаюсь бороться с кэшем. Ну есть, ну и пусть будет. Никому от этого не плохо. Только когда я тестирую правки в своей разработке, постоянно обновляя страницу, браузер со временем перестаёт проигрывать файл, зависает. Вот я и решил, что это кэш. Консоль при этом - чиста, и только курсор мигает одиноко. Вот и не могу ошибку отловить, приходится домысливать.
Честно говоря, я уже не могу найти, где я об этом читал. Но это было упомянуто в развёрнутой статье о кэшировании, и у меня больше доверия сказанному там, чем вами здесь (это естественно, согласитесь). А глубокий смысл запрета кэширования громоздких медиафайлов на самом деле лежит на поверхности и заключается в том, что иначе все они остаются в памяти, и если бы, например, Youtube не удалял их каким-то образом из кэша (я не уверен, что он это делает, но подозреваю), то компьютер у меня давно бы разорвало на шестерёнки во все стороны от избытка сохранённых данных. У меня аудиоплеер, и всё, что пользователь прослушает, останется в кэше браузера. Это не дело.
Что-то это не про то... Чтобы передать команду браузеру (т.е. пару слов заголовка) для файла - не копировать его в кэш, нужно передать сам файл... Какая-то казуистика.
HTTP-заголовки отправляет либо nginx либо apache. соответственно нужен или nginx config править или htacces.
хотите контролировать по другому. то отдавайте их с помощью php . но так нагрузка на сервер
Я бы с удовольствием отдал через PHP, но не знаю как.
к файлу как сказали выше добавьте в конце че нибудь
например music.mp3?abc
на php
скорее всего файлы отдаются с помощью nginx
.htaccess не поможет
Слушайте, я весьма признателен за желание помочь, но почему-то никто не обращает внимание на п. 3 - я умею добавлять случайное число к ссылке, но это не то. У меня вполне конкретный вопрос про HTTP-заголовки. Которые работают везде, без всякого nginx. Сервера у всех разные, об этом я тоже написал... Я не в том разделе что-ли вопрос разместил... А в каком, не пойму.
К сожалению, я не понимаю что это значит. Но разве это не то же, что и в п. 3 неподходящих вариантов? Мне не нужно "обманывать" браузер, это неверный подход. Мне нужно не давать ему кэшировать. И поскольку, как я понял, не существует надёжных способов этого сделать, кроме передачи HTTP-заголовков, то ни к чему рассматривать другие варианты, тем более что я уже указал на них как на нерабочие.
У Вас проблемы с восприятием информации. Вам следует внимательнее читать то что Вам пишут чётче формулировать проблему не предлагая вместо проблемы собственные домыслы, и терпимее относиться к критическим замечаниям, раз уж Вы хотите получить ответ.
1. Никто не видел не знал, что Вы с какой-то стати решили смотреть содержимое файла через AJAX - это сообщение появилось гораздо позже. 2. Именно целостность файла и его содержимое имеют отношение к проблеме кодировок, о которой Вы заявили с самого начала. Насчёт кодировок был Ваш личный вывод, и не надо обижаться, что обсуждение пошло именно в этом русле.3. Вам уже несколько раз написали, что пустая строка - это браузерная обработка, но Вы упорно отказываетесь это видеть. И я Вам написал, как это решается.
Я уже извинялся за домыслы и неправильную формулировку. Здесь вы безусловно правы. Мне особенно совестно перед Евгением - человек заморочился, скрины выкладывал, а я вёл его по ложному пути...Проблема была решена уже до того, как вы мне написали.Браузерная обработка - об этом говорили тоже уже после решения проблемы. Не раньше! Перечитайте. Я не думаю, что у меня проблемы с восприятием информации.
Я так не умею🤣
Исходный код документа
5 минут для доказательства, что ничего никуда не теряется.
Я не очень понял код - я новичок. Может быть, я ошибаюсь, но у меня получается так:< - на выходе пустая переменнаяgfg< - на выходе gfg<gfg> - на выходе <gfg>То есть, корректно передаётся только последний вариант. Попробуйте.
alert(itog.length) - выдаст 0. То есть, переменная без ничего. Конечно, нужно преобразовывать и т.д., но это я теперь знаю, когда jkm мне подсказал верный путь.