Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Ограничение размера файла при upload'е



Есть такое странное желание ограничивать размер файла при upload'е,
допустим, 1 мегобайтом и при этом сообщать пользователю об этом
как можно раньше и наиболее дружелюбно.

Стандартное решение через LimitRequestBody не хорошо тем,
что на медленных линках не работает.
Выглядит это следущим образом. Апач, увидев в Content-Length,
что ему постят слишком много, говорит 413 и делает lingering_close(),
то есть, делает shutdown() на запись, но продолжает читать клиента.
Читать будет до 30 секунд - потом случится alarm и сокет закрывается.

MSIE 5.5 и Netscape 4.77 на 413, похоже, плюют и продолжают
вливать файло. Через 30 секунд MSIE говорит "The page cannot
be displayed", а Netscape говорит что-то про i/o network error.
Это долго и не понятно пользователю.

Если работать через Squid'а, то ошибка происходит сразу же -
Squid получает 413 и закрывает сокет к клиенту. Быстро, но не понятно.

На эзернете этого не происходит, так как клиент успевает влить файло
и уже после этого занимается полученной 413, которую правильно показывает.

Решать это, видимо, нужно на стороне пользователя, но вот только как ?
JavaScript, насколько я понимаю, не умеет определять длину постящихся
данных.

Игорь Сысоев

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.