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

The differences between http2 compatibility API and http[s] #29829

Open
1 of 32 tasks
sogaani opened this issue Oct 3, 2019 · 18 comments
Open
1 of 32 tasks

The differences between http2 compatibility API and http[s] #29829

sogaani opened this issue Oct 3, 2019 · 18 comments
Labels
http Issues or PRs related to the http subsystem. http2 Issues or PRs related to the http2 subsystem. https Issues or PRs related to the https subsystem.

Comments

@sogaani
Copy link

sogaani commented Oct 3, 2019

Thanks to the efforts of making the compatibility API, differences between http[s] and http2 modules seldom annoy developers.
But, some http2 compatibility API still behaves differently and lacks some APIs from http[s] and it causes breakages to ecosystems for http[s](e.g. expressjs/express#3730).

In order to expose the differences, I've been translating test cases for http[s] to test cases for http2 at my repo. The following is a list of the differences currently founded by translated test cases.

I'm not sure all the differences have to be fixed. I thought if they should not be fixed, documenting the differences is good for the developer.

Differences between http and http2 compatibility API

@ZYSzys ZYSzys added http Issues or PRs related to the http subsystem. http2 Issues or PRs related to the http2 subsystem. https Issues or PRs related to the https subsystem. labels Oct 3, 2019
@ronag
Copy link
Member

ronag commented Dec 14, 2019

I think you can add #24347 to the list as well.

@ronag
Copy link
Member

ronag commented Dec 14, 2019

Really good work! I would be interested in helping sorting some of this.

@ronag
Copy link
Member

ronag commented Dec 14, 2019

@sogaani I would like to suggest we put your tests in under tests/known_issues so that we might sort them out later? @addaleax would you agree?

@ronag
Copy link
Member

ronag commented Dec 14, 2019

Here is another one that might be worth to add to the list, #29529

@sogaani
Copy link
Author

sogaani commented Dec 15, 2019

@ronag Thank you for looking at this issue. I added 2 issues you mentioned.

I'm glad to make pull request to put my tests at this repo if it is OK.

@ronag
Copy link
Member

ronag commented Dec 17, 2019

@addaleax Some guidance here? Would it make sense to add @sogaani's test in e.g. known_issues? Sorting all these out will probably take a while and I'd like to avoid losing this excellent work.

@ronag
Copy link
Member

ronag commented Jan 16, 2020

@sogaani: Another candidate for the list #28267

@ronag
Copy link
Member

ronag commented Jan 26, 2020

@sogaani: Just wanted to give a quick ping that I'm still interested in helping sorting these out over time (a little swamped at the moment). But please do continue updating the list if you find more differences.

@sogaani
Copy link
Author

sogaani commented Jan 27, 2020

@ronag Thank you for mentioning the difference. I added :)

@ronag
Copy link
Member

ronag commented Apr 17, 2020

@rexagod: If you are looking for tasks there is plenty to pick from here.

@rexagod
Copy link
Member

rexagod commented Apr 17, 2020

Awesome! Thank you for pointing me here, @ronag!

@markb-trustifi
Copy link

http2.Http2ServerResponse does not have res.writeProcessing

Isn't the 102 status code is totally deprecated and will not be added to HTTP/2 standard?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/102#browser_compatibility
Maybe it should be replaced with multiple res.write()?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
http Issues or PRs related to the http subsystem. http2 Issues or PRs related to the http2 subsystem. https Issues or PRs related to the https subsystem.
Projects
None yet
Development

No branches or pull requests

8 participants