|
|
|
|
|
by hobohacker
4790 days ago
|
|
Why do you assert it has no benefit for mobile APIs? Here are a few that I can think of off the top of my head: * SPDY Multiplexing is superior to HTTP pipelining. Pipelining requires in-order responses, which leads to head of line blocking. * SPDY header compression is a win for mobile, since mobile uplink bandwidth is often a bottleneck. Request header compression allows for fitting more requests into fewer packets. * Mobile connections are more likely to hang, so using SPDY PINGs (https://insouciant.org/tech/connection-management-in-chromiu...) will help fail fast. * Multiplexing more requests over fewer connections will help with mobile power usage (https://insouciant.org/tech/connection-management-in-chromiu...). |
|
If you are going to dedicate resources to switching to SPDY, you should instead investigate protobuf.
* Almost all APIs are transactional. Your API should be returning all the data you need to render a single screen in your mobile app, or it is inefficient.
* You should be stripping all request headers except for User-Agent, and the server should be responding based on the known capabilities of the app version.
* Pings are not the correct way to deal with hangs. I don't want to spill any secret sauce here, but it should be obvious to anyone with low level TCP experience.
* Pipelining also uses a single connection. Opportunistic FINs are not unique to SPDY.