Чтобы минимизировать проблему:
На своей веб-странице я могу видеть сообщения других пользователей, например, в Twitter или Facebook. Проблема в том, что изображения не кэшируются, и мой браузер загружает их снова и снова, что плохо сказывается на производительности.
Простой пример:
axios.get("/api/getPosts").then(res => {
let img = res.data; //res.data is my image path for example: https://website.com/uploads/image/large.png"
});
Всякий раз, когда я устанавливаю этот путь к своему изображению, оно снова загружается. Итак, как мне кэшировать это изображение?
Максимальный возраст элемента управления кешем равен 0, как мне увеличить это значение?
Что я пробовал:
Я попытался добавить управление кешем с помощью nginx, но теперь получаю ошибку 404, если пытаюсь получить изображение.
server {
server_name website.at www.website.at;
listen 443 ssl http2;
ssl on;
ssl_certificate /etc/letsencrypt/live/website/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/website/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires 2d;
add_header Cache-Control "public, no-transform";
}
}