Re: Draft v1 Update for Resumable Uploads

> On Jun 19, 2022, at 03:40, Eric J Bowman <mellowmutt@zoho.com> wrote:
> 
> >
> > Apple has a Feedback Assistant app which allows customers to
> > file bug reports and upload device diagnostics. These diagnostics
> > are usually hundreds of megabytes in size, and if interrupted, we
> > have to upload them again from the beginning. This has been 
> > one of the most common complains we receive.
> >
> 
> FTP is your friend. Well, SFTP/FTPS anyway. If you can't tighten the screw with a hammer, maybe try a screwdriver.

I don’t think “just use FTP” is a sentiment shared among the workgroup. Safari removed FTP support last year, and this year FTP support is deprecated on all Apple platforms.

FTP predates TCP/IP networks, and it does not utilize the bidirectional communication of TCP connections. It requires multiple connections to transfer a single resource and does not reuse connections. The inefficiency and the extra round-trips make the protocol unacceptable in modern standards.

There is no CDN support for FTP, and it didn’t receive the same security or performance optimizations from the decades of work that went into HTTP. It does not support modern transport protocol QUIC. The list can go on.

FTP belongs in a history museum. It’s not a protocol anybody should still be deploying in production.
> 
> >
> > From my reading of the PATCH standard, media type should be the
> > type of the content that we are trying to modify.
> >
> 
> RFC 5789 states:
> 
> "The PATCH method requests that a set of changes described in the request entity be applied to the resource identified by the Request-URI. The set of changes is represented in a format called a 'patch document' identified by a media type."
> 
> Suggest brushing up on "media type". You're modifying a resource, not a type of content. A text/html representation of a CSV diagnostic file may be generated for rendering in a browser. Probably best to patch the resource by sending a snippet of CSV, as patching the HTML *representation* may inadvertently break the CSS. Not to mention needs reverse-transformed before applying to the resource.
> 
> You just need a "patch document" with a media type defining it as CSV, maybe even with line numbers.

In this case, the resource is an arbitrary binary blob. Maybe we should go with “application/octet-stream” which would be accurate, but we are hesitant to define a general way to PATCH octet-streams as the only capability we use is appending.

Guoye
> 
> -Eric
> 
> 

Received on Sunday, 19 June 2022 19:30:06 UTC