Intent to Implement (meta): Bundled HTTP Exchanges

157 views
Skip to first unread message

Takashi Toyoshima

unread,
May 10, 2019, 4:16:19 AM5/10/19
to blink-dev, webpack...@chromium.org

Contact emails

Eng: {ksakamoto, toyoshim, kinuko}@chromium.org

PM: kenji...@chromium.org

Spec: jyas...@chromium.org


Explainer

Please refer to the background section of the design doc.

For broader context, see the Web Packaging explainer and the Use Cases document.


Spec/Design doc

Spec:

https://wicg.github.io/webpackage/draft-yasskin-wpack-bundled-exchanges.html


Design Doc (high-level one):

https://docs.google.com/document/d/11Kl-p6qmXO3-mFjXu7P0ADinNZ7T9occ_m2BnjvxI5M


Tag review: plan to file as soon as a few spec changes that have been discussed/planned are finalized on the spec draft.


Summary

Bundled HTTP Exchanges is a format proposal that can represent a collection of HTTP exchanges. An HTTP exchange is a pair of HTTP request/response. It can be signed, i.e. Signed HTTP Exchanges, or not.  This intent is a meta intent for implementing the necessary infra and iterating over the spec. Specifically, as the initial targets we are planning to work on and experiment with:

  • Web apps installation with resources from Bundled Exchanges stored in a secure local place, and

  • Navigating to a page from Bundled Exchanges, resulting in web apps installation


Note: We don’t plan to enable Bundle-backed navigation or resource accesses from other web pages yet, and we plan to send separate intents when we work on web-exposed features.


Motivation

Web Packaging opens up various compelling use cases, including offline peer-to-peer webapp sharing, web publications, and integrity-preserving distribution of content from non-authoritative server. Signed HTTP Exchanges (shipping in M73) provides a way to establish publisher’s authenticity by signing request/response pairs. However, a Signed Exchange can only represent a single HTTP request/response and therefore can not represent a whole web page or multiple resources.  Bundled HTTP Exchanges are another significant piece of Web Packaging that can package multiple HTTP exchanges in one format, either signed or not.


We don’t have a crystal clear image about how Bundled HTTP Exchanges should be exposed and used on Web platform yet, but would like to explore the problem space with the help of the community.


Risks

Interoperability and Compatibility:
Potentially high as the spec is still at its very early stage, while landing web-exposed feature is currently out of the scope of this intent. We want to iterate over the ideas before we start working on concrete web-exposed features.


Edge / Firefox / Safari: No public signals (for Bundled HTTP Exchanges)

Web / Framework developers: hearing interests


Activation

We have a set of Go tools on public github repository for generating and examining Bundled Exchanges.


Debuggability

No special DevTools support is planned at this point, while we may add some in the future.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Link to entry on the feature dashboard

To be added by separate intents


Requesting approval to ship?

No.



--
Takashi Toyoshima
Software Engineer, Google

huan...@google.com

unread,
May 21, 2019, 5:53:20 PM5/21/19
to blink-dev, webpack...@chromium.org
Please consider creating a Chrome launch review so we can have a privacy review:)


On Friday, May 10, 2019 at 10:16:19 AM UTC+2, Takashi Toyoshima wrote:

Contact emails

Eng: {ksakamoto, toyoshim, kin...@chromium.org

Takashi Toyoshima

unread,
May 24, 2019, 4:06:17 AM5/24/19
to huan...@google.com, blink-dev, webpack...@chromium.org
On Wed, May 22, 2019 at 2:22 AM huanzhong via WebPackage-dev <webpack...@chromium.org> wrote:
Please consider creating a Chrome launch review so we can have a privacy review:)

I just filed a launch bug now, but PRD is not yet ready.
We will request a review once we are ready.

Thanks,

--
You received this message because you are subscribed to the Google Groups "WebPackage-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webpackage-de...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/webpackage-dev/72b8733a-f9ef-406d-b1c7-fe11435246d1%40chromium.org.
Reply all
Reply to author
Forward
0 new messages