Как стать автором
Обновить

Комментарии 29

Ну как по мне то браузер должен само очищаться от старого кэша для нового.
Ну и должен предупреждать если сайт хочет использовать да же больше 500 мбайт (не говоря уже о 2.2 гига), что то типа «Уважаемый пользователь, данный сайт хочет сохранить кэш в размере ХХХ мбайт(гигабайт) — вы уверены? Да / Нет» — пусть фраза и банальная, но как по мне будет защищать пользователь от таких кэшей.
Но ведь если приложение сохраняет данные не одним куском, а цепочкой мелких (как в статье с PDF), то браузер должен вывести дофига сообщений «Данный сайт хочет сохранить кэш в размере 7 МБ», не так ли? В идеале на 30-40 сообщение пользователь уже должен был бы поставить галочку «Все, этому сайту больше не наливать нельзя сохранять кэш, а то и так шибко много кушает» (кстати, тоже спорный вопрос — если приложение не сможет сохранить 1 ГБ кэша и будет каждый сеанс его пытаться выкачать, то уж лучше я у себя его похраню… другой вопрос, а буду ли я пользоваться таким приложением вообще), но на практике после третьего подобного сообщения пользователь пойдет в настройки и отключит эту назойливую штуку.
Вот стопудов — за примером того, как это работает, можно пойти в Windows Vista и Windows 7. «Это приложение хочет что-то записать в реестр. Разрешить?» — и у меня отличный выбор: либо я выберу «нет», и приложение даст сбой, либо я выберу «да», и приложение сделает неизвестно что, причем мне же потом и скажут «а тебя предупреждали, бро, ты сам разрешил».
Если вы сами запустили приложение, то можете ему разрешить, по крайней мере, в случаем проблемы, вы знаете, какое приложение накосячило. А вот если такой запрос выдан, а вы ничего не запускали и не ждали, то повод задуматься.
Думаю, есть простое решение.
Прежде чем использовать кеш, сайт должен попросить место с помощью специального вызова. Т.е. юзер увидит окно «Этот сайт просит разрешение на использование 500 МБ кеша. Разрешить/Запретить/Пусть делает что хочет/Нефиг ему кеш юзать».
Если юзер разрешит — сайт может добавить в кеш эти 500 МБ. При попытке добавить еще 1 байт — соответствующий JS получает exception.
Да, мысль мне нравится. И чтобы сайт мог через API увидеть, что у него заканчивается место и запросить аллокацию дополнительного места. При этом пользователь увидел бы «Этот сайт просит увеличение размера кэша с 1000 МБ до 1500 МБ». Ну и по умолчанию давать сайтам пару мегабайт кэша — чтобы каждый сайт не парил пользователя запросами.
Тут встает вопрос — как разделять сайты.
Ибо если давать просто так сайту с доменом 3го уровня хоть какое-то место, то нехороший человек с собственным доменом 2го уровня может занять сколько угодно места.
Ну описанный вами сценарий можно осуществить и без Storage, храня большое количество данных в Cookies поддоменов.

По умолчанию можно давать столько же места, сколько сайт мог бы сохранить в куках — скажем десятки килобайт — это не даст каких-то возможностей для злоупотребления.
Такую настройку имеет flash и silverlight, придётся и к html5 добавить
А если я с телефона сижу, то тут и о двух мегабайтах стоит спросить. Так что не ясно как устанавливать лимит.
Я бы в браузер в строку статуса или адреса просто добавил индикатор который показывает сколько конкретный сайт занял на диске, со всеми потрохами и кешами

Да наверняка появятся виджеты…
waymaps.com/article/a-78.html в хроме удобнее всего, я вот ниразу кеш не очищал на новом ноутбуке, спасибо за статью, стоит задуматься кто и зачем мне винт забивает всякой ерундой
А по другим браузерам(FF/IE/Opera/Safari) вы тесты проводили?
В FF есть Настройки-Дополнительные-Сеть, где можно настраивать предельный объем кеша.
НЛО прилетело и опубликовало эту надпись здесь
та же хрень с запросами. хром может делаеть 6000 запросов в минуту на чужие сайты — так и задосить можно
НЛО прилетело и опубликовало эту надпись здесь
В стоимости одного мегабайта (sic) в несколько рублей (а если в роуминге, то и десятков рублей) при использовании мобильного телефона в качестве модема для выхода в интернет (все-таки ситуации разные бывают — форс-мажор так накрыть может, что огого). Правда, это не сколько к кэшу относится, сколько к web-приложениям вообще.
НЛО прилетело и опубликовало эту надпись здесь
Тогда кроме дурацкой реализации браузера, при которой большой объем закэшированных данных вызывает дикие тормоза (придумал программист для «ускорения» работы при загрузке весь объем кэша подгружать в память, но не учел, что HDD очень медленный попался, и оперативка к тому же не резиновая — свопится, да еще и на тот же медленный HDD), пока ничего придумать не могу (^_^)'
Вы не усугубляете проблему? Сколько приложений помимо вашего теста сейчас используют этот кэш? У меня лично 0. Когда сервисы начнут более менее активно использовать данный функционал — проблема решится девелоперами браузеров.

А пока ваш заголовок отдает желтизной.
М-да… То, что забивает кеш это фиг с ним. Кому надо уменьшат размер кеша до приемлемых для них величин.
А вот то, что он по заполнении кеша отказывает другим приложениям вместо того, чтобы выбрасывать самый старый чейн, это серьезный косяк. Это означает что одно web-приложение может повлиять на нормальную работу другого приложения.

Хотелось бы знать как с этим в других бровзерах…
а расширение, контролирующее уровень кэша в наличии имеется? (спрашиваю потому, что беглое гугление ответа не дает)
НЛО прилетело и опубликовало эту надпись здесь
указать-то можно, а вот узнать кто сколько съел из уже указанного. Просто если нет, дык я напишу)
Во даете! Вместо того, чтобы в настройки браузера залезть, где все по-русски написано, вы будете расширение писать :).

Настройки / Дополнительно / Личные данные (кнопка «Настройки контента...») / Файлы cookie (ага, это прикол такой) (кнопка «Все файлы cookie и данные сайтов...»)

Ну, собственно, изучайте…
каждый раз будете туда лезть? зело неудобно. удобные фичи описаны выше: заходишь по урлу — видишь сколько места в кэше он уже занял. + действие по кнопке. В общем, по хорошему додумать надо.
Чудная вешь! Можно написать отличную и совершенно нерусерсоёмкую облачную файлопомойку, которая будет использовать этот самый офлайн кэш :)
У меня расширение Gmail Plus создало 15 милллионов пустых файлов. Удалял около часа.
Пока тьфу-тьфу-тьфу вроде не повторяется.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации