+  HandyCache форум
|-+  Главная категория» Новые предложения» "Не загружать большие файлы" - прекращать загрузку
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: "Не загружать большие файлы" - прекращать загрузку  (Прочитано 6447 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nem
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« : 17 августа 2007, 11:45:19 »

"Не загружать большие файлы" - прекращать загрузку, если этот режим включен и загружается больше лимита.

В настоящее время происходит блокирование загрузки, если сайт вернул в _заголовках_ ответа размер данных и этот размер превышает заданный порог. В таких случаях все работает отлично. Но периодически бывают ситуации, когда в заголовках не отдается размер и HC начинает загрузку очень большого контента, что приводит к "попаданию на траффик".

Есть предложение, чтобы HC прекращал загрузку данных при превышении активного порога предельного размера.
В таких случаях можно отдавать ошибку "too long", но лучше всего отдавать то, что успело закачаться (с соответствующей пометкой в логе).

PS. Спасибо за отличную программу.



Это возможно реализовать с помощью расширения!
« Последнее редактирование: 17 октября 2009, 13:19:26 от DenZzz » Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #1 : 17 августа 2007, 13:14:55 »

По моему, очень разумное предложение. Странно, что до сих пор это никому не пришло в голову.
Сообщить модератору   Записан
Nem
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #2 : 17 августа 2007, 13:32:21 »

По моему, очень разумное предложение. Странно, что до сих пор это никому не пришло в голову.
На самом деле такие случаи относительно редки. По крайне мере у меня. Много движков сайтов отдают размер сгенерированных страниц, поэтому с сайтами обычно проблем нет. А всякие .swf, .mp3, .mov и т.п. у меня режутся черным списком.

Кстати, насчет реакции на превышение размера. Если у кого-то не указан, например, .mp3 в черном списке, но стоит ограничение на размер, тогда при сайте, отдающем mp3 файл и не указавшем размер в ответе, получится только начальный кусок файла. Это, наверное, плохо. Впрочем, такие вещи обычно отдаются сервером напрямую с диска (т.е. не генерятся) и в ответе есть размер. Думаю нужно будет еще подумать, как это может прямо или косвенно повлиять на что-нибудь.
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #3 : 17 августа 2007, 22:26:47 »

Есть предложение, чтобы HC прекращал загрузку данных при превышении активного порога предельного размера.

Контраргументы:

1. После автоматического прерывания закачки, если файл все-таки понадобится целиком, то придется качать его с самого начала, т.к. докачка будет невозможна! Так закачал 300 из 310 кб... упс... и начинай все с начала с отключенной опцией! Вот такая экономия...

2. Недокаченный файл может оказаться нечитаемым из-за нарушения формата, CRC и т.п. И что с ним тогда делать? Писать в кэш или нет?

3. Посмотрел я свои логи HC. Большие файлы без "Content-Length" в 95% случаев - это динамические страницы форумов и сайтов, т.е. HTML, которые мне нужны целиком, сколько бы они не весили, т.к. в них содержится полезная для меня информация (текст)!
И лишь 5% - это картинки и т.п., отдаваемые динамически, которые можно было бы и не докачивать...

4. Почти все по-настоящему большие файлы, как уже заметили, имеют "Content-Length"!


Резюмирую (ИМХО):

1. Данная модификация опции, как минимум, должна быть отключаемой, чтобы можно было блокировать, как раньше - только по "Content-Length".

2. Прерывать закачку всего подряд без анализа "Content-Type", ИМХО, нельзя! По URL отличить форум от динамической картинки не всегда возможно, т.к. привычного расширения может не быть! Т.е. в настройках нужно дополнительное поле "Content-Type", где можно будет прописать, какого типа контент "без длины" можно не докачивать: image, audio и т.п.
« Последнее редактирование: 17 августа 2007, 22:38:18 от DenZzz » Сообщить модератору   Записан
Nem
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 4


« Ответ #4 : 19 августа 2007, 17:12:04 »

1. Кешировать недокаченный файл на диск нельзя. Вероятно, это допустимо для RAM-cache, но мне это не нравится.
2. В моем случае встретился именно сгенерированный HTML весом более 2.5Mb . Поэтому кроме диалеммы "300 из 310 кб" попадаются "120 vs 2500 кб"
3. Идея использовать "Content-Type" вместо расширения очень интересна. Если можно будет указывать ограничения основываясь и на "Content-Type", то я обеими руками "за". Но анализ URL-а не следует исключать, т.к. это позволит настроить разные правила для разных групп сайтов (например есть "доверенные" сайты и "остальные"). В общем, что-то в этом духе.

Что получается:
Набор строк вида
Маска URL-а + Список "Content-Type" = ограничение + признак прерывания закачки
позволит настроить большинство вариантов
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: