[blink-dev] Intent to Experiment: fetch() upload streaming

132 views
Skip to first unread message

Yoichi Osato

unread,
May 11, 2020, 3:19:00 AM5/11/20
to blink-dev
yoi...@chromium.org https://bit.ly/2SVvKbR Specification: https://fetch.spec.whatwg.org/#concept-body-stream http://bit.ly/3asqra2 https://github.com/w3ctag/design-reviews/issues/434 Fetch provides a generic definition of Request and Response objects (and other things involved with network requests). This is a feature which lets web developers make a fetch with a ReadableStream body. We need an origin trial to verify web-compatibility, specifically that we can do chunked uploads over HTTP/1.1 without breaking middleboxes with trial API AllowHTTP1ForStreamingUpload (the additional API design is on-going). That trial and the rough API idea were suggested at https://github.com/whatwg/fetch/issues/966#issuecomment-588065153. Experiment Goals: Measure how far each HTTP protocol (1.0 or earlier, 1.1 and 2.0 or later) work to upload streaming. Plan: run the experiment while M84 beta/stable until M85 branch (From May 28 to Jun 25) None. Yes No wpt/fetch/api/basic/request-upload.any.js tests a few but WPT server doesn't support chunked encoding on HTTP/1.1 nor HTTP/2. See crbug.com/1048761. https://www.chromestatus.com/feature/5274139738767360
Comments
A web developer gRPC already agrees to participate this experiment:
https://github.com/whatwg/fetch/issues/966#issuecomment-608128154

Yoav Weiss

unread,
May 14, 2020, 2:18:16 PM5/14/20
to Yoichi Osato, blink-dev
LGTM

On Mon, May 11, 2020 at 9:18 AM Yoichi Osato <yoi...@chromium.org> wrote:
yoi...@chromium.org https://bit.ly/2SVvKbR Specification: https://fetch.spec.whatwg.org/#concept-body-stream http://bit.ly/3asqra2 https://github.com/w3ctag/design-reviews/issues/434 Fetch provides a generic definition of Request and Response objects (and other things involved with network requests). This is a feature which lets web developers make a fetch with a ReadableStream body. We need an origin trial to verify web-compatibility, specifically that we can do chunked uploads over HTTP/1.1 without breaking middleboxes with trial API AllowHTTP1ForStreamingUpload (the additional API design is on-going). That trial and the rough API idea were suggested at https://github.com/whatwg/fetch/issues/966#issuecomment-588065153.

Do you have partners lined up to try this out?
It sounds like they would take some compatibility risk in exchange for improved upload performance, but maybe that's a good tradeoff.
 
Experiment Goals: Measure how far each HTTP protocol (1.0 or earlier, 1.1 and 2.0 or later) work to upload streaming. Plan: run the experiment while M84 beta/stable until M85 branch (From May 28 to Jun 25) None. Yes No wpt/fetch/api/basic/request-upload.any.js tests a few but WPT server doesn't support chunked encoding on HTTP/1.1 nor HTTP/2. See crbug.com/1048761. https://www.chromestatus.com/feature/5274139738767360
Comments
A web developer gRPC already agrees to participate this experiment:
https://github.com/whatwg/fetch/issues/966#issuecomment-608128154

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAAEV3pk43%2BjXUbUPEMNeuPdqX7ZAeDedyY5GwJuBpZ67Xf8qAw%40mail.gmail.com.

Yoichi Osato

unread,
May 14, 2020, 9:58:43 PM5/14/20
to Yoav Weiss, blink-dev
> Do you have partners lined up to try this out?
> It sounds like they would take some compatibility risk in exchange for improved upload performance, but maybe > that's a good tradeoff.

Yes, a web library developer gRPC is participating in this experiment:
https://github.com/whatwg/fetch/issues/966#issuecomment-608128154


2020年5月15日(金) 3:18 Yoav Weiss <yo...@yoav.ws>:

Yoichi Osato

unread,
May 15, 2020, 1:46:20 AM5/15/20
to Yoav Weiss, blink-dev
Since main implementation and trial API design was not fixed, I decided to postpone the experiment to M85, which will be beta from Jul 23th and stable from Aug 25th.

2020年5月15日(金) 10:58 Yoichi Osato <yoi...@chromium.org>:
Reply all
Reply to author
Forward
0 new messages