Code Monkey home page Code Monkey logo

Comments (4)

igrigorik avatar igrigorik commented on July 21, 2024

That's a good use case. My proposal would be to expose:

interface NetworkInformation : EventTarget {
    readonly attribute DOMString saveData;
};

The value would contain the token communicated in the Save-Data header. Today this would yield a single value of "on", but the IETF spec does allow us to define other token values and we should support that here as well.

/cc @marcoscaceres @jkarlin

from netinfo.

marcoscaceres avatar marcoscaceres commented on July 21, 2024

I wonder if one could just get the Save-Data client hint from the outgoing Request? That may allow modification of the Request's URL if need be upon the SW fetch event on a per Request basis without the need to expose this in the API.

The decision about what to store in the cache is generally made on "environmental conditions" and those are not enforceable with Save Data (unlike with something akin to Content Performance Policy).

The risk is that this signal is of limited value because it's not enforceable (similar to DNT) - which may end up confusing or frustrating user who set this, but then just get ignored by sites.

from netinfo.

jeffposnick avatar jeffposnick commented on July 21, 2024

Just to clarify something from @marcoscaceres's previous comment, this information would be most useful if it were available inside of a service worker's install handler, which is the event that's normally associated with precaching.

There's no Request exposed in the InstallEvent that's passed to the install handler.

from netinfo.

bengreenstein avatar bengreenstein commented on July 21, 2024

@igrigorik's proposed extension to NetworkInformation sounds great to me for the reason already mentioned by @jeffposnick (for SW decision making related to precaching). I can see it also being a good signal for adaptive video libraries to degrade quality somewhat to reduce network data use.

from netinfo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.