I think you should take into account that HTTP uses TCP. TCP connections are not controlled only by your application, there are also many routers and firewalls in between your application and the server.
I took a look into a typical firewall documentation just to see what is the default timeout for TCP connections.
For CISCO it is one hour.
http://www.cisco.com/c/en/us/td/docs/security/asa/asa91/configuration/firewall/asa_91_firewall_config/conns_connlimits.html#42354
So maybe you should consider this information when deciding on maximum connection timeout.
Also see section 5.5 here : https://www.rfc-editor.org/rfc/rfc6202
They claim that the best practice is 30 seconds.