~/talk

HTTP/2 for the Web developer

Talkat SpringOne2GX 2015 · 2015-09-14..09-17· [web-platform, web-performance]
slides:none on file

HTTP/2 reduces latency by using a single TCP connection with multiplexed streams, HPACK header compression and mandatory TLS1.2 in most browsers, demonstrated with Spring Boot + Jetty/Undertow and curl/nghttp2 clients. Practical hurdles include ALPN bootclasspath hack on JDK7/8 (Jetty ALPN jar), certificate distribution, and needing Wireshark keylog or Chrome net internals to inspect frames. Stream prioritization matters far more than blind server push; naive pushing wastes bandwidth and causes race conditions. Browser support ≈60%, ~25% of traffic is HTTP/2.

AI-written summary · about

  1. 0:00Intro
  2. 1:28Too Long; Didn't Attend
  3. 4:48HTTP 1.1 issues - Head of line blocking
  4. 6:01HTTP 1.1 Workarounds
  5. 6:48HTTP usage: reality check
  6. 8:05Improving page load time
  7. 9:31Domain sharding
  8. 10:29Concatenation
  9. 11:45Sprites
  10. 12:30Protocol basics 1/6
  11. 16:55Protocol basics 4/6
  12. 18:05Header table
  13. 19:39Static + dynamic tables
  14. 20:48Protocol basics 6/6
  15. 22:04Security concerns...
  16. 31:17With undertow!
  17. 32:26SSL Keylog file content
  18. 32:52SSL Keylog file in Wireshark
  19. 33:22Server implementations (native)
  20. 34:57On the JVM
  21. 35:25Application Layer Protocol Negotiation
  22. 36:46ALPN and JDK support
  23. 37:50ALPN support with JDK7 and JDK8
  24. 39:42Servlet 4.0
  25. 41:10Reactive Streams
  26. 41:36Flow Control
  27. 43:10Differentiating features
  28. 44:46HTTP/2 browser support (market share)
  29. 45:16HTTP/2 responses in global traffic (Firefox 40)
  30. 46:57Step 1: Improve TCP support on servers
  31. 48:48Step 2: Enforce HTTP 1.1 best practices
  32. 49:20Assess your infrastructure
  33. 50:18Secure your application with TLS
  34. 51:31Undo HTTP1.1 workarounds?
  35. 52:37Update your development toolset
  36. 55:29HTTP/2 Server Push
  37. 55:58Push_Promise: already cached!
  38. 56:52Push_Promise: order of frames
  39. 58:18Server push; code example
  40. 58:57Jetty PushCacheFilter
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.