Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When can you coalesce connections #2223

Closed
ekr opened this issue Dec 20, 2018 · 6 comments · Fixed by #3558
Closed

When can you coalesce connections #2223

ekr opened this issue Dec 20, 2018 · 6 comments · Fixed by #3558
Assignees
Labels
-http design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.

Comments

@ekr
Copy link
Collaborator

ekr commented Dec 20, 2018

S 2.4.

An authoritative HTTP/3 endpoint is typically discovered because the client has
received an Alt-Svc record from the request's origin which nominates the
endpoint as a valid HTTP Alternative Service for that origin.  As required by
{{RFC7838}}, clients MUST check that the nominated server can present a valid
certificate for the origin before considering it authoritative. Clients MUST NOT
assume that an HTTP/3 endpoint is authoritative for other origins without an
explicit signal.

This text seems quite a bit more restrictive than S 9.1.1. of RFC 7540,
which just allows reuse as long as the SAN is present in the cert. Is
that intentional?

@martinthomson martinthomson added editorial An issue that does not affect the design of the protocol; does not require consensus. design An issue that affects the design of the protocol; resolution requires consensus. and removed editorial An issue that does not affect the design of the protocol; does not require consensus. labels Dec 21, 2018
@martinthomson
Copy link
Member

I think that the intent was to present equivalent text. Though the thinking about coalescing has evolved some in the meantime. We should discuss where we think the state of this discussion is at and see if we can capture something sensible.

@ianswett
Copy link
Contributor

ianswett commented Jan 4, 2019

Yes, it'd be good to capture something more up-to-date if we can come to consensus on that.

Is explicit signal meant to indicate DNS and/or ORIGIN frame? If so, maybe call those two out as examples?

@LPardue
Copy link
Member

LPardue commented Jan 4, 2019

@ianswett I think the dilemma is that some of those things don't exist yet for H3. For example, Mike did some earlier work to redefine ALTSVC frame for H3 but there is yet to be equivalent for ORIGIN or secondary certs.

@MikeBishop
Copy link
Contributor

Yes, it's intentional. RFC7540 allows coalescing based on the cert and DNS, because you're connected to the authoritative origin. However, HTTP/3 is never connected on the authoritative endpoint for an http(s?):// URL, so you need something else to tell you that's okay. This could be an Alt-Svc record for that origin delegating to the same UDP port. This could be an ORIGIN-for-H3 frame telling you to throw caution to the wind and trust the cert, if the client thinks that's sensible.

@MikeBishop MikeBishop added this to Relationship to HTTP/TCP in HTTP / QPACK Jan 17, 2019
@MikeBishop MikeBishop moved this from Relationship to HTTP/TCP to Don't Make Me Read 7540 in HTTP / QPACK Feb 6, 2019
@MikeBishop
Copy link
Contributor

Discussed in London; also blocked on httpwg/http-core#194 defining how a client decides which connection / server to ask for a given resource.

@larseggert
Copy link
Member

Discussed in ZRH. Waiting for HTTP changes to materialize.

@MikeBishop MikeBishop self-assigned this Mar 3, 2020
@MikeBishop MikeBishop added the proposal-ready An issue which has a proposal that is believed to be ready for a consensus call. label Apr 2, 2020
@project-bot project-bot bot moved this from Design Issues to Consensus Emerging in Late Stage Processing Apr 2, 2020
@LPardue LPardue added call-issued An issue that the Chairs have issued a Consensus call for. and removed proposal-ready An issue which has a proposal that is believed to be ready for a consensus call. labels Apr 4, 2020
@project-bot project-bot bot moved this from Consensus Emerging to Consensus Call issued in Late Stage Processing Apr 4, 2020
@LPardue LPardue added has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list. and removed call-issued An issue that the Chairs have issued a Consensus call for. labels Apr 18, 2020
@project-bot project-bot bot moved this from Consensus Call issued to Consensus Declared in Late Stage Processing Apr 18, 2020
Late Stage Processing automation moved this from Consensus Declared to Text Incorporated Apr 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-http design An issue that affects the design of the protocol; resolution requires consensus. has-consensus An issue that the Chairs have determined has consensus, by canvassing the mailing list.
Projects
Late Stage Processing
  
Issue Handled
HTTP / QPACK
Don't Make Me Read 7540
Development

Successfully merging a pull request may close this issue.

7 participants