我可以在使用NSURLSession的iOS应用中关闭SPDY吗?

时间:2015-09-16 01:44:01

标签: ios nginx nsurlsession spdy

我的iOS应用在从启用了SPDY的HTTPS nginx网络服务器加载图像时遇到网络问题。此处描述了此问题:Sending SPDY requests results in "The request timed out" errors with NSUrlSession in iOS

我正在使用NSURLSession进行网络连接。我做了实验,并确认如果我在服务器端关闭SPDY,我的问题就解决了。不幸的是我无法在生产nginx服务器上关闭SPDY,因为我无法控制它。我可以在iOS应用中关闭SPDY吗?

OS X:10.10.4(14E46),iOS:8和9,Xcode:7.0(7A218),nginx:1.9.4

1 个答案:

答案 0 :(得分:1)

可能能够使用nginx将作为非SPDY,非HTTP / 2请求处理的内容预先填充NSURLRequest中的Upgrade头字段,例如

升级:TLS / 1.2

但URL加载系统可能只是踩踏它,在这种情况下,禁用它的唯一方法是将服务器配置为比较用户代理字符串(或您提供的任何其他标头)并拒绝升级连接。