The new file upload protocol introduces these new features not present in the previous protocol:
Chunked upload: The protocol supports uploading a file in separate chunks, by transmitting each file chunk in a separate request.
Partial upload: The protocol supports uploading just one part of the file content, instead of the whole file.
Command-based interaction: The protocol provides different commands (actions) for the client application to indicate which server the operation should be performed upon the completion of an upload request.
Cleanup for incomplete upload: The protocol allows the client application to indicate if a file whose upload was not completed should be automatically deleted.
These are the benefits provided by the new protocol:
Unlimited file size for upload: The client application is no longer restricted to the browser and/or web server limits for the size of the file being uploaded (usually 2GB).
To avoid the limits, the client application can upload large files (above 2GB) by splitting its content across different chunks.
Resumability: For interrupted upload operations, the client application can send the missing part of the file, instead of the entire file content again.
File integrity: For upload operations that could potentially be interrupted (either by user intervention or application/network failure),
the client application can opt to indicate that no file should be left on the server with partial content. Either the file is completely uploaded or its content is removed from server upon completion of the operation.