Upload-Limit
The unofficial Upload-Limit response header field advertises the constraints an upload resource places on a resumable upload: how large the representation is allowed to grow, how big each append is allowed to be, and how long the resource stays alive.
Usage
The server sends Upload-Limit on the 104
interim response announcing an upload resource, on
responses from the resource itself, and on
OPTIONS responses for a target
supporting upload creation, where a server without
limits advertises min-size=0 rather than an empty
value. On other responses a limitless server leaves
the field out. A client reading
the limits sizes its chunks to fit, declares an
Upload-Length within the cap, and
schedules resumption before the resource expires.
Falling outside a limit produces an error response
rather than silent truncation, normally carrying
Upload-Limit restating the constraints, though
intermediaries enforcing their own limits leave the
field out. Reading the header
up front saves wasted transfers.
Values
The value is a Structured Fields Dictionary. Each key names one constraint.
max-size
The largest representation, in bytes, the upload resource accepts in total.
min-size
The smallest representation, in bytes, for which the server offers resumability. Uploads below the threshold, or uploads whose length the server has no way to deduce, proceed as ordinary requests without an upload resource.
max-append-size
The largest request content, in bytes, accepted by a single append or creation request. A client with more data to send splits the remainder across further PATCH requests.
min-append-size
The smallest request content, in bytes, accepted by a non-final append or creation request. Creation requests with no content and requests marked final through Upload-Complete are exempt.
max-age
The remaining lifetime of the upload resource in seconds, counted from the generation of the response carrying the field. After the window passes, the resource is no longer guaranteed to stay reachable, and a resumption attempt starts over with a fresh upload. A client done with a resource ahead of the deadline cancels the upload with a DELETE request instead of letting the lifetime run out.
Example
The server announces an upload resource accepting up to one gigabyte in total, appends of at most eight megabytes each, and a lifetime of one day.
Response
HTTP/1.1 104 Upload Resumption Supported
Location: https://www.example.re/uploads/b3k2pp5k7z
Upload-Limit: max-size=1073741824, max-append-size=8388608, max-age=86400
See also
- Internet-Draft: Resumable Uploads for HTTP
- Upload-Offset
- Upload-Complete
- Upload-Length
- 104
- PATCH
- HTTP headers