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

add a test case for HTTP/3 Push #200

Open
marten-seemann opened this issue Sep 21, 2020 · 7 comments
Open

add a test case for HTTP/3 Push #200

marten-seemann opened this issue Sep 21, 2020 · 7 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@marten-seemann
Copy link
Collaborator

Discussed with @martinthomson on Slack: Apparently Firefox wants to have seen the URL before it accepts a Push.
We could generated n files to be pushed, and a .txt file that contains links to these files.
We'd then tell the client the URL of the .txt file. The server would then be expected to push these resources to the client.

How does this sound? quic-go doesn't have a push implementation (yet), so I can't really judge what makes sense here. @mjoras, @ghedo, @kazuho, @huitema, @tatsuhiro-t Any opinions on this?

@marten-seemann marten-seemann added help wanted Extra attention is needed good first issue Good for newcomers labels Sep 21, 2020
@huitema
Copy link
Contributor

huitema commented Sep 21, 2020

The picoquic implementation of HTTP3 does not support server push. That would be a new development, the only goal being to test other HTTP3 implementations.

@martinthomson
Copy link
Contributor

It's not pokemon Christian, you are allowed to not support test cases :)

@tatsuhiro-t
Copy link
Contributor

ngtcp2 server has a feature to test push capability:

?push=<PATH_1>&push=<PATH_2>&...&push=<PATH_N>: Push resources specified by <PATH_1>, <PATH_2>, ... and <PATH_N>, where <PATH_I> must start with / (e.g., /?push=/bar)

So client requests URL with push query parameter specifying resource being pushed.

This is very simple scheme, but it looks like firefox won't work with this.

@marten-seemann
Copy link
Collaborator Author

@tatsuhiro-t Could you download the .txt file first, and then construct the ?push-URL from it?

Or do people think that the ?push-URL is a pattern worth standardizing (for testing purposes)?

@martinthomson
Copy link
Contributor

You'd have to generate a redirect to that URL as the client won't know to make the request with all those query parameters. And I doubt that many of the primitive clients follow redirects (Firefox and Chrome probably would, but our test client would not).

@tatsuhiro-t
Copy link
Contributor

If runner generates .txt file, then it can pass its URL with constructed push-URLs to client. Simple client then just request the URL.

@huitema
Copy link
Contributor

huitema commented Sep 22, 2020

@martinthomson hey, I like the way the score looks:
image
Once you have a stable spec, I might hack something...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants