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

TCP Exclusivity #26

Closed
martinthomson opened this issue Feb 19, 2013 · 5 comments
Closed

TCP Exclusivity #26

martinthomson opened this issue Feb 19, 2013 · 5 comments

Comments

@martinthomson
Copy link
Collaborator

While protocol portability is widely regarded as a good thing, the idea that HTTP/2.0 might use a different substrate than TCP is a dangerous one. It is likely that many design choices will be made based on the assumption that the protocol runs atop TCP and not some other transport protocol.

We should decide if the HTTP/2.0 specification is written exclusively for TCP or whether we want to pay lip service to protocol agnosticism. Note that exclusivity does not preclude the use of other protocols in a later specification, it just removes one axis of freedom in the design.

@mnot
Copy link
Member

mnot commented Feb 19, 2013

The line we need to walk is to allow the use of other transport protocols (or application protocols that masquerade as one) that provide similar guarantees to TCP.

Thus, the profile that we identify what we're doing will exclusively and directly define the layering of HTTP/2.0 on TCP, and also upon TLS upon TCP. Other profiles might define other layerings of the semantics across other transport protocols, but we won't define them.

This is alluded to in the charter, and was discussed at length in the chartering process.

So, I see changes that need to happen in the specs to accommodate this approach, but I think they're already covered by other issues; is there any reason to keep this issue open?

@martinthomson
Copy link
Collaborator Author

I think that I'd like a conclusion that says that it's OK not to pay lip service to transport portability, so that I can change statements like:

"HTTP/2.0 runs over a reliable substrate, such as TCP."

to

"HTTP/2.0 runs over TCP."

That doesn't preclude a future effort to define the use of other transport protocols (even unreliable ones, for the truly mad).

In the same vein, I'd also like to eliminate the pretense that the framing layer is reusable for other protocols. Other efforts that decide that the framing layer works for them can reuse it, but reusability shouldn't be our goal (and our problem).

@mnot
Copy link
Member

mnot commented Feb 20, 2013

Again, let's see how the negotiation text fits in (#1, #12) and sort out our nomenclature for the framing layer vs. the HTTP layer; then this should become clear.

@mnot
Copy link
Member

mnot commented Jun 14, 2013

Ted volunteering to produce a proposal.

grmocg added a commit that referenced this issue Aug 29, 2013
Remove security claims from intro
@mnot
Copy link
Member

mnot commented Jan 23, 2014

Discussed in Zurich; closed without action.

@mnot mnot closed this as completed Jan 23, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants