Hi!

Done: https://bugs.chromium.org/p/chromium/issues/detail?id=1415291


Mitar

On Wed, Nov 2, 2022 at 11:46 PM Mike Taylor <miketa...@chromium.org> wrote:
>
> Hi Mitar,
>
> This is really good feedback. Would you mind filing a bug at
> crbug.com/new? Feel free to respond here with the link.
>
> thanks,
> Mike
>
> On 11/1/22 11:25 AM, Mitar wrote:
> > Hi!
> >
> > After playing more with link preload header, I have found another
> > issue where it fails flat as a replacement for server push: where
> > response type depends on Accept header (e.g., APIs which can return
> > XML or JSON depending on Accept header, i.e., content negotiation).
> > You cannot really specify what is used as an Accept header with link
> > rel="preload" and as="fetch" and it looks like Chrome always sets
> > Accept: */*, even if you specify type="application/json".
> >
> >
> > Mitar
> >
> > On Sun, Jul 10, 2022 at 8:04 PM Mitar <mmi...@gmail.com> wrote:
> >> Hi!
> >>
> >> On Sun, Jul 10, 2022 at 4:19 PM Patrick Meenan <pmee...@chromium.org> 
> >> wrote:
> >>> Presumably if you are protecting something behind HTTP Auth then the PUSH 
> >>> is happening AFTER the 401 challenge and the browser has made the 
> >>> follow-on request with the Authorization header.  If not, then the 
> >>> resources aren't actually protected by authorization and PUSH is 
> >>> bypassing the auth.
> >> I am not talking about HTTP Auth, but a simple SPA which fetches JSON
> >> data from REST API using Authorization header. The server-side can
> >> know that after loading the code, SPA will contact the REST API, so
> >> with HTTP2 you can push the JSON data to the client (setting
> >> Authorization header. as an expected header to be used in the request,
> >> and because it knows the logic of SPA it can also know the value of
> >> the Authorization header). This mitigates the question about whether
> >> you should embed this JSON into HTML response or provide it through
> >> API. Because you can push, there is little difference, but it can be
> >> seen as cleaner to separate HTML payload from data payload.
> >>
> >>> In the early-hints case, the 103 should presumably also be after the 
> >>> request has made it past HTTP Auth so any requests for subresources would 
> >>> use the cached credentials,
> >> That works with cookies, but not with REST API which uses bearer token
> >> in Authorization header. Or am I mistaken?
> >>
> >>> Content negotiation works fine for "as" types that have "accept" types 
> >>> associated with them.
> >> There are some issues opened for Chromium around that [1] [2], but
> >> maybe that is just implementation bug?
> >>
> >>> The PUSH case doesn't support custom authorization or content negotiation 
> >>> either.
> >> You can provide Authorization header in request headers in PUSH_PROMISE 
> >> frame?
> >>
> >>> PUSH is going to go away, the only real question is how long it will 
> >>> take, not if enough edge cases are found to keep it.
> >> I think I understand that. But I am trying to understand what are
> >> alternatives for the edge cases I care about. Initially it looked like
> >> Early Hints is the proposed alternative, but it looks like it does not
> >> support all use cases.
> >>
> >> Currently to me it looks like the best bet is to move the bearer token
> >> to Cookie header. That one might be included when doing a preload
> >> through Link header.
> >>
> >> [1] https://bugs.chromium.org/p/chromium/issues/detail?id=962642
> >> [2] https://bugs.chromium.org/p/chromium/issues/detail?id=1072144
> >>
> >>
> >> Mitar
> >>
> >> --
> >> http://mitar.tnode.com/
> >> https://twitter.com/mitar_m
> >
> >
>


-- 
http://mitar.tnode.com/
https://twitter.com/mitar_m

-- 
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+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKLmikP19rmngMvjxC-n4cGrSYbMShXdvTYJzTT0Mi019pJwdg%40mail.gmail.com.

Reply via email to