iOS NSURLSession是否支持HTTP 100继续?
当HTTP请求包括iOS NSURLSession是否支持HTTP 100继续?,ios,http,nsurlconnection,nsurlsession,Ios,Http,Nsurlconnection,Nsurlsession,当HTTP请求包括 Expect: 100-continue 在标头中,启用了一个特殊协议。这很复杂,但很有用 在我们运行的实验中,iOS8版本的NSURLSession在默认情况下似乎不会发送此expect头。我们仍在探索是否明确包含它 我们可以在苹果文档中找到的唯一一个引用声称,100 continue将适用于nsursession的前身,即nsurconnection。它 如果要将数据上载到兼容的服务器,URL加载系统还支持100(继续)HTTP状态码,这允许在发生身份验证错误或其他故障
Expect: 100-continue
在标头中,启用了一个特殊协议。这很复杂,但很有用
在我们运行的实验中,iOS8版本的NSURLSession
在默认情况下似乎不会发送此expect头。我们仍在探索是否明确包含它
我们可以在苹果文档中找到的唯一一个引用声称,100 continue
将适用于nsursession
的前身,即nsurconnection
。它
如果要将数据上载到兼容的服务器,URL加载系统还支持100(继续)HTTP状态码,这允许在发生身份验证错误或其他故障时继续上载。要启用对上传延续的支持,请将请求对象上的Expect:header设置为100 continue
我想要什么帮助
按优先顺序:
†我不确定这是否是对100 continue应该发生的情况的一个很好的描述,因为IIUC的一点是请求主体很大,您更希望发送请求头,获得服务器的预批准,然后开始发送主体
附录 是一个有用的链接,讨论如何处理100 continue的变幻莫测
是我在github问题上找到的一个非常有用的对话框,关于在OS X上使用
NSURLConnection
。是的,如果您自己设置头,它会显式工作。事实上,如果内存可用,下载任务会自动使用它,而无需设置头。默认情况下,IIRC和其他任务不会这样做,前提是请求可能不是幂等的。当目标服务器从未响应时(使用100 continue标头授权正文传输),是否有方法启动正文传输?我有一个响应401的服务器(例如Digest auth),但在我的应用程序在auth delegate方法中完成其工作后,服务器从不响应inc是成功的。所以我的连接被关闭了,尸体永远不会被送出。