This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2015年03月27日 17:58 by alex, last changed 2022年04月11日 14:58 by admin.
| Messages (12) | |||
|---|---|---|---|
| msg239424 - (view) | Author: Alex Gaynor (alex) * (Python committer) | Date: 2015年03月27日 17:58 | |
The spec is available at https://http2.github.io/ |
|||
| msg239447 - (view) | Author: Martin Panter (martin.panter) * (Python committer) | Date: 2015年03月28日 01:16 | |
This project may be of use for the client side of things: <https://github.com/lukasa/hyper> (apparently MIT licensed). |
|||
| msg239457 - (view) | Author: Cory Benfield (Lukasa) * | Date: 2015年03月28日 07:12 | |
I'm happy to talk about bringing hyper's HTTP/2 layer into http.client. It's worth noting that at this point I have no current plans to build a server into hyper, though if there was interest in using hyper as a baseline then I could take a swing at it. |
|||
| msg240019 - (view) | Author: Demian Brecht (demian.brecht) * (Python triager) | Date: 2015年04月03日 18:06 | |
+1 to the adding the support for HTTP/2. I would personally like to see a few things happen before that though (which I've been putting some effort into as i can) + refactor http.client to cleanly separate transport from application protocol level + figure out some kind of adapter interface in order to facilitate swapping between 1.1 and 2 (This can start with a clean HTTP/1.1 interface) + full HTTP/1.1 support. Given (as i understand it) HTTP/2 is largely an extension of HTTP/1.1 it doesn't make much sense to me to implement the latter before the former. |
|||
| msg240021 - (view) | Author: Cory Benfield (Lukasa) * | Date: 2015年04月03日 18:11 | |
> figure out some kind of adapter interface in order to facilitate swapping between 1.1 and 2 (This can start with a clean HTTP/1.1 interface) I've been thinking about this a lot with hyper, and I'm about to start work on it (having just finished an alpha implementation of HTTP/1.1). My current plan is to try out a proxy object pattern, but you should feel free to use the hyper code as a leaping-off point for some experiments into how to do the swapping. |
|||
| msg240022 - (view) | Author: Demian Brecht (demian.brecht) * (Python triager) | Date: 2015年04月03日 18:11 | |
@Cory: my own plan was to use your implementation as the baseline and add server support. If you take a crack at it that would be great! |
|||
| msg240612 - (view) | Author: Ludovic Gasc (Ludovic.Gasc) * | Date: 2015年04月13日 14:30 | |
@demian.brecht: I don't know when, but certainly that we will add in aiohttp HTTP/2 support. If your implementation is enough modular, we could use some stuff like we did with urllib and HTTP/1 support. |
|||
| msg240614 - (view) | Author: Cory Benfield (Lukasa) * | Date: 2015年04月13日 14:35 | |
I spoke to some people after my PyCon talk about this, and agreed that it would be a good idea to split out the framing and HPACK stuff from hyper to make it easier for people like aiohttp to prototype. The framing layer is already available from PyPI[0] and on GitHub[1], and I'm working on pulling the HPACK layer out right now[2], which should be available later today. [0]: https://pypi.python.org/pypi/hyperframe [1]: https://github.com/Lukasa/hyperframe [2]: https://github.com/Lukasa/hpack |
|||
| msg269578 - (view) | Author: Марк Коренберг (socketpair) * | Date: 2016年06月30日 12:23 | |
Why not to use HTTP parser from Nginx ? I mean write binding using Cython. AFAIK, Nodejs already done that. It is fast, and fully spec-compliant http-parser. |
|||
| msg269580 - (view) | Author: STINNER Victor (vstinner) * (Python committer) | Date: 2016年06月30日 12:37 | |
Even if HTTP2 is a standard, it looks a little bit more complex than HTTP 1.1. It would be nice to start with a package on PyPI to keep fast evolution, and then wait until the API is stabilized before we put anything in the stdlib. Or maybe we should start with a "subset" of HTTP2. By the way, the issue title is "http package should support HTTP/2". Are you talking about the http client or client+server? I suggest to start with the client. |
|||
| msg269581 - (view) | Author: Cory Benfield (Lukasa) * | Date: 2016年06月30日 12:49 | |
It occurs to me that I should update this issue to mention that the HTTP/2 parser I spoke about above now exists, and has existed for some time, as hyper-h2. It's available on PyPI: https://pypi.python.org/pypi/h2 It's fully spec-compliant, and already used as the basis for HTTP/2 implementations in mitmproxy, Twisted, and hyper itself. |
|||
| msg369627 - (view) | Author: Brett Cannon (brett.cannon) * (Python committer) | Date: 2020年05月22日 18:25 | |
And now there's https://pypi.org/project/httpcore/ which wraps h2 and h11 into a single, low-level API. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:58:14 | admin | set | github: 67982 |
| 2020年05月22日 18:26:18 | brett.cannon | set | nosy:
- brett.cannon |
| 2020年05月22日 18:25:44 | brett.cannon | set | messages: + msg369627 |
| 2019年02月28日 13:50:35 | Ludovic.Gasc | set | nosy:
- Ludovic.Gasc |
| 2019年02月28日 01:20:20 | yan12125 | set | nosy:
- yan12125 |
| 2018年10月12日 14:37:39 | masthana | set | nosy:
+ masthana |
| 2018年10月12日 11:07:57 | anton.barkovsky | set | nosy:
+ anton.barkovsky |
| 2018年07月27日 02:05:31 | yan12125 | set | nosy:
+ yan12125 |
| 2018年07月26日 06:25:36 | zengxs | set | nosy:
+ zengxs |
| 2016年06月30日 12:49:00 | Lukasa | set | messages: + msg269581 |
| 2016年06月30日 12:37:23 | vstinner | set | nosy:
+ vstinner messages: + msg269580 |
| 2016年06月30日 12:23:30 | socketpair | set | nosy:
+ socketpair messages: + msg269578 |
| 2016年06月30日 09:11:29 | dusek | set | nosy:
+ dusek |
| 2016年01月26日 03:12:33 | fantix.king@gmail.com | set | nosy:
+ fantix.king@gmail.com |
| 2015年04月14日 21:58:24 | raulcd | set | nosy:
+ raulcd |
| 2015年04月13日 14:35:12 | Lukasa | set | messages: + msg240614 |
| 2015年04月13日 14:30:38 | Ludovic.Gasc | set | nosy:
+ Ludovic.Gasc messages: + msg240612 |
| 2015年04月03日 18:11:38 | demian.brecht | set | messages: + msg240022 |
| 2015年04月03日 18:11:19 | Lukasa | set | messages: + msg240021 |
| 2015年04月03日 18:06:08 | demian.brecht | set | nosy:
+ demian.brecht messages: + msg240019 |
| 2015年03月28日 12:34:26 | brett.cannon | set | nosy:
+ brett.cannon |
| 2015年03月28日 07:12:36 | Lukasa | set | messages: + msg239457 |
| 2015年03月28日 01:21:09 | icordasc | set | nosy:
+ Lukasa |
| 2015年03月28日 01:16:19 | martin.panter | set | nosy:
+ martin.panter messages: + msg239447 |
| 2015年03月27日 18:14:57 | icordasc | set | nosy:
+ icordasc |
| 2015年03月27日 18:01:27 | berker.peksag | set | nosy:
+ berker.peksag stage: needs patch type: enhancement versions: + Python 3.6 |
| 2015年03月27日 17:58:30 | alex | create | |