|
|
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
В общем для экономии трафика изображения возвращаю через ПХП. В заголовке возвращаю Last-Modified: со временем файла изображения, затем анализирую параметр при следующем обращении "If-Modified-Since" и если их время одинаково - то возвращаю код 304. Если изображение загружается в HTML - то все ок. Т.е. первый раз изображение грузится с кодом 200, а затем (если файл не изменился) с кодом 304. Если же изображение загружается из JS - то в первый раз код 200, а в последующие ВСЕГДА код 200 и сообщение что браузер берет его из локального кэша - т.е. изображение застревает в кэше браузера навечно. Как заставить JS обращаться к серверу при последующих вызовах а не брать все из локального кэша ??? Вот пример корректной работы из HTML Код: html 1. А вот неправильной работы из JS: Код: javascript 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 15:00 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
В общем - для тех кто не понял: Если IMG в HTML - то браузер действует так: В первый раз запрашивает изображение с сервера и кэширует его, в последующие разы делает запрос на сервер с пар-ром If-Modified-Since, в котором указывает время создания файла из своего кэша и если получает с сервера код 304 - то изображение берется с локального кэша. Если IMG добавляется из JS - то браузер в первый раз запрашивает изображение с сервера и кэширует его, а в последующие разы на сервер вообще не обращается а ВСЕГДА берет изображение из кэша. Почему ???????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 15:11 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский...Почему ???????? Потому что это - очень хороший способ экономить траффик. Если хотите загрузить новую картинку - нажмите Ctrl+F5. А если хотите, чтобы картинка грузилась всегда с сервера, то добавьте в урл картинки какой-то случайный параметр, типа, avtoisgermanii.jpg?size=200&t=<?php echo uniqid(); ?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 15:37 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский...Почему ???????? Потому что это - очень хороший способ экономить траффик. Если хотите загрузить новую картинку - нажмите Ctrl+F5. А если хотите, чтобы картинка грузилась всегда с сервера, то добавьте в урл картинки какой-то случайный параметр, типа, avtoisgermanii.jpg?size=200&t=<?php echo uniqid(); ?> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 15:38 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
ShSergeМикола Питерский...Почему ???????? Потому что это - очень хороший способ экономить траффик. Если хотите загрузить новую картинку - нажмите Ctrl+F5. А если хотите, чтобы картинка грузилась всегда с сервера, то добавьте в урл картинки какой-то случайный параметр, типа, avtoisgermanii.jpg?size=200&t=<?php echo uniqid(); ?> Про случайный параметр я знаю - но тогда изображение каждый раз будет снова грузится с сервера. А мне нужно уменьшить нагрузку сервера - а полноразмерные фотки каждый раз качать туда-сюда шлишком накладно. А про Ctrl+F5 - это правда вы думаете что у каждого пользователя сети это заложено с рождения с молоком матери? Или про эти волшебные клавиши нужно писать прямо на главной странице сайта: "Если вы увидели что-то не то - то жмякните Ctrl+F5, а лучше их жмякайте каждый раз, когда заходите на наш сайт". А почему этот "хороший способ экономить траффик" не действует на код HTML а только на вставку его из JS? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 15:48 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский...А почему этот "хороший способ экономить траффик" не действует на код HTML а только на вставку его из JS? Там он тоже работает. Вы же не показали исходный код страницы целиком. Впрочем, и не надо. Зависит от многих причин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 17:21 |
|
||
|
JS загружает изображение всегда с локального кэша - почему?
|
|||
|---|---|---|---|
|
#18+
Микола Питерский...А почему этот "хороший способ экономить траффик" не действует на код HTML а только на вставку его из JS? Там он тоже работает. Вы же не показали исходный код страницы целиком. Впрочем, и не надо. Зависит от многих причин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2013, 17:22 |
|
||
|
|

start [/forum/topic.php?fid=22&tid=1447824]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 500ms |

| 0 / 0 |
