Are you looking for help?
Backendless Version (3.x / 5.x, Online / Managed / Pro )
Backendless cloud 6.x
Client SDK (REST / Android / Objective-C / Swift / JS )
Objective-C / Swift
Application ID
8C44389D-54B2-5DF3-FFF8-40A831D81800
Actual Behavior
Just a point of debate for the benefit of the community …
Apparently both Backendless servers are on http 1.1 for some reason … now the main issue I’m raising this is because of the latency issue http 1.1 is having on APIs issued on Cellular connection
I have tested this using large number of API calls on both types of connections (Wifi & Cellular) and found that using iOS the https session validity for APIs on Cellular are so short that almost each API call requires a new TLS handshake … apparently this is to do with the iOS built in configuration for sessions on Cellular media (I’m guessing minimizing session durations to maintain the device battery)… I have used all sorts of tricks to relax that session duration to no luck, APIs on Cellular connection kept asking for TLS handshaking most of the times ( I tested the TLS handshaking using NSURLSessionTaskMetrics).
Now this raises the question of what about http 2 I mean since the main promise of http 2 is to solve the latency thing using header compression, response caching (server push) and other techniques … I went on and tested that using a test server where I tested same database I have on a new server . here are the results
Cleary with http 2 huge improvement for the API on Cellular connection, and its logical as the connection didn’t need to do TLS handshaking every time …
I’m not sure about what it takes to turn the server to http 2 but can I suggest please for the Backendless team to look in to that given the obvious benefits on the latency side (plus other things)
Thanks
Eyad