http2/h2demo: fix the HTTP/1-vs-HTTP/2 demo after HSTS breakage

We were previously demoing HTTP/1 vs HTTP/2 loading performance using
http:// scheme (which uses HTTP/1 implicitly) on the
domain for HTTP/1, and for HTTP/2.

But then got into the HSTS preload list, forcing all
* to only be HTTPS.

So now, rather than find a new base domain name, to compare against
HTTP/1 we instead use and then use the SNI
name to determine whether we advertise "h2".

Also, some cleanup:

* remove launch.go; it's no longer used since we moved to kubernetes
* use a multi-stage Dockerfile rather than the hacky workarounds
  that used to be necessary to simulate multiple stages
* modernize the kubernetes deployment stuff to match how we do
  it elsewhere ("gcloud docker" is long deprecated too)
* update from Go 1.9 to Go 1.11 for the prod base

Fixes golang/go#30033

Change-Id: I9f6b1f496d4005e5a08bf990843d440005a5b3e8
Reviewed-by: Andrew Bonventre <>
6 files changed
tree: 28daa3d6a05931e4460b0afe1c8c39e532e72d23
  1. .gitattributes
  2. .gitignore
  9. bpf/
  10. codereview.cfg
  11. context/
  12. dict/
  13. dns/
  14. html/
  15. http/
  16. http2/
  17. icmp/
  18. idna/
  19. internal/
  20. ipv4/
  21. ipv6/
  22. lif/
  23. nettest/
  24. netutil/
  25. proxy/
  26. publicsuffix/
  27. route/
  28. trace/
  29. webdav/
  30. websocket/
  31. xsrftoken/

Go Networking

This repository holds supplementary Go networking libraries.


The easiest way to install is to run go get -u You can also manually git clone the repository to $GOPATH/src/

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see The main issue tracker for the net repository is located at Prefix your issue with “x/net:” in the subject line, so it is easy to find.