
Ask HN: Is HTTP 2 problematic for mobile or NATted clients? - amluto
I suspect that HTTP 2 (and SPDY before it) has a subtle but severe performance issue that primarily affects clients that roam between IPs or that are behind NATs that are restarted.  Specifically, I think that existing HTTP 2 implementations are bad at destroying nonworking connections, leading to seconds to minutes of lag.<p>The symptom is that sites like gmail sometimes become unresponsive for extended periods.  I think this happens when the client sends a request over a TCP connection that is no longer functional due to router reboot, NAT timeout, roaming, or anything else.<p>Telling Chromium to reset all sockets using net-internals immediately makes everything responsive again.  Firefox has no such mechanism that I can find.  Neither browser seems to have any good diagnostic screen to show HTTP 2 connections, the current requests using then, and when data was last received on the connections.<p>Am I right?  Is HTTP 2 to blame?  If so, how could this be mitigated?  (Something using ping frames, perhaps.)<p>My best guess is that, with HTTP 1.1, keep-alives and pipelining never worked particularly well.
======
api
If NAT is involved in anything, NAT is to blame. Even if there are no
problems, NAT is to blame.

