Просмотр полной версии : Очистка кэша
По запросу пользователя через ajax подгружаются видосы, но проблема в том, что после загрузки нескольких видосов ajax запросы выдают 403 ошибку. На сколько я понял, это может быть связанно с тем, что забивается кэш. Как можно очищать кэш браузера средствами javascript?
Кеш тут не причем - 403, Forbidden, запрещен доступ.
А аз-за чего может выдавать 403? я пытаюсь загрузить видос, который загружал пару запросов назад, но мне бьет 403.
warren buffet
17.10.2016, 18:42
Лимит закачек может быть зохавал.
С кешем так примерно. Если файл в кеше, браузер пошлет запрос с датой, а сервер может ответить - без изменений - и браза тогда берет из кэша.
Кэш не может переполнится. Там все автоматически регулируется.
А аз-за чего может выдавать 403?
Причин может быть несколько, вплоть до того, что сервер проанализировав частоту запроса клиента закрыл ему доступ. Гадать занятие бессмысленное, а на клиенте причину этого не узнать.
Вот код аякса
function csrfSafeMethod(method) {
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajax ({
url: '/dog-command/',
type: "POST",
data: json,
headers: {
"Cache-Control": "no-cache, no-store, must-revalidate",
"Pragma": "no-cache",
"Expires": "0"
},
dataType: "json",
contentType: "application/json; charset=utf-8",
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
},
success: function(data){
// тут грузим видео
}
});
Сказано же: дело не в клиенте, а в сервере.
Не любит он когда подряд грузят у него видео и блокирует тебе запросы.
Если сервер твой - смотри настройки безопасности.
Если чужой, то по-хорошему надо почитать политику того сайта. Возможно нужно использовать специальный API. Или надо договариваться с владельцами. По-плохому: можно поэкспериментировать с задержкой между загрузками, подставлением разных UserAgent итд.)
headers: - это заголовки запроса, а заголовки
"Cache-Control": "no-cache, no-store, must-revalidate",
"Pragma": "no-cache",
"Expires": "0"
отправляются браузеру сервером для запрета кеширования контента. Чего вы пытаетесь добиться отправляя эти заголовки серверу?
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot