NSURLSession in Mobile Environment

HTTPS communication is performed with the server using NSURLSession.

We understand that HTTPS communication with the server allows multiple transactions to be communicated in one (or a minimum) session if Keep-Alive is available, thereby reducing the negotiation load at the start of HTTPS communication. NSURLSession seems to be doing this Keep-Alive processing.


Well, this time, the server administrator has reported that the session has been fragmented (does not become Keep-Alive) from HTTPS from iOS.

As a result of conducting research, it was found that fragmentation was not made in the case of via iOS from WiFi, but in the case of via via mobile.


As a result, NSURLSession makes full use of Keep-Alive when using WiFi, but does not use Keep-Alive when using Mobile so that session is disconnected (FIN transmission) for each transaction. It has been observed.


There is a question there.


Is NSURLSession correct with the understanding that the behavior of the session differs between WiFi and mobile?

Also, it will be helpful if you can teach us how to avoid and adjust the timing of cutting.