Re: File upload in HTML forms

Craig Milo Rogers (rogers@ISI.EDU)
Thu, 13 Oct 94 20:47:33 PDT

>Craig Milo Rogers <rogers@ISI.EDU> writes:
>> throught th form). You may well want to have per-user
>> limits on disk storage; or, you may simply be short of disk
>> space.
>Great -- but in that case, why wait until the submission has started
>to impart that information? Why not simply include current
>information on resource limits right on the FORM itself? It would be
>nice for the user to know this *before* putting a lot of time and
>work into creating and gathering the files for submission -- only to
>find out "Sorry, submitted files would exceed resource limits!" after
>the button is pressed.

I guess, basically, because printing out a number ("you
have 10Mbytes of free space") and expecting the user to find the
corresponding number for the files to be submitted... is too much
work. That's the kind of bookkeeping that a lot of users expect the
system to do for them nowadays.

On the other hand, I myself would prefer to see the free space
ahead of time. I'll have to retain that idea.

Per-user limits can keep a single user from consuming
excessive amounts of disk space. Early detection will reduce the
consumption of excesive communication resources. Both ways, we are
reducing the potential for denial-of-service attacks.

In the applications I have in mind, the "good" users are going
to prepare and submit their files anyway; a lack of free space
requires a temporary deferment. This actually brings me to my next
wish list item:

Suppose you start a large transfer (this applies to either
upload or download). If the net is slow, it might take a long time to
complete the transfer. If the server is buey, it might be difficult
to even open a connection. There should be options for background
transfers, other than just setting the window aside and doing
something else ("clone" during transfer might help); something like
bftp ("bhttp"?) for loading a cache in the server-to-client direction,
and for queuing large jobs in the client-to-server direction.

Craig Milo Rogers