kazuho / draft-kazuho-httpbis-priority

Other
6 stars 4 forks source link

negotiation is defined in priority-settings #55

Closed kazuho closed 4 years ago

kazuho commented 4 years ago

This PR

Regarding negotiation, one of the things that this PR removes is a statement that says that a coalescing intermediary should forward the negotiation signal from the client only if all the clients send a common signal: _An intermediary SHOULD send a SETTINGS_HEADER_BASED_PRIORITY parameter with a value of 1 for a connection it establishes when, and only when, all the requests to be sent over that connection originate from a client that utilizes this header-based prioritization scheme. Otherwise this settings parameter SHOULD be set to 0._ I presume that the Priority Setting I-D would have a similar statement.

kazuho commented 4 years ago

@LPardue I think this PR is ready for review.

Please note that we no longer say something like, quoting from the original text: _an intermediary SHOULD send a SETTINGS_HEADER_BASED_PRIORITY parameter with a value of 1 for a connection it establishes when, and only when, all the requests to be sent over that connection originate from a client that utilizes this header-based prioritization scheme._

Instead, we say that should be done when and only when all the requests that are to be sent on that backend connection originates from one client-side connection that has negotiated the use of the extensible priority scheme.

The latter is stricter, and the rationale is being described in the fairness section (within Security Considerations).

LPardue commented 4 years ago

So just to confirm my understanding, when we say

when and only when all the requests that are to be sent on that backend connection originates from one client-side connection that has negotiated the use of the extensible priority scheme.

this means a intermediary that coalesces client connections does not add the 8-bit value 2 to their SETTINGS_PRIORITIES frame?

kazuho commented 4 years ago

@LPardue That's correct. I think I've argued that in some other PR, added clarification in 452890f.

Though I can now see that it might be confusing, so I do not mind taking a step back and using SETTINGS to communicate if all clients are using the header-based scheme.

LPardue commented 4 years ago

Let's put it in as you've written - its an important design consideration and it would be good to solicit feedback on this behaviour, even if that means we back it out or modify it later.

kazuho commented 4 years ago

Thank you!!!