【问题标题】:Which schemes does NSURL / NSURLRequest / NSURLConnection understand?NSURL / NSURLRequest / NSURLConnection 理解哪些方案?
【发布时间】:2011-01-07 18:44:37
【问题描述】:

Apple 说,NSURL 是使用 RFC 1738(和其他一些)开发的。

现在 RFC 1738 仅指定 Web URL 具有方案和方案特定部分。

我想知道 NSURL 能理解的所有方案。而且因为我将它与 NSURLRequest 和 NSURLConnection(所谓的“URL 加载器系统”)一起使用,所以我必须知道它们所理解的所有方案。

为什么?因为我只想知道。 Apple 没有在文档中详细介绍它,只是说遵守 RFC 1738。这说明了很多,也没有说明。

【问题讨论】:

    标签: cocoa nsurlconnection nsurl nsurlrequest


    【解决方案1】:

    NSURL“支持”任何方案,因为它对如何使用相关方案一无所知。它只是一个 URL 概念的包装。

    同样,NSURLRequest 不知道更多信息,但它确实有能力存储可能特定于协议的额外信息。

    NSURLConnection 是您开始获得更多协议特定的地方。 NSURLConnection 能够支持您向其发送的任何 URL,前提是为此注册了合适的 NSURLProtocol 子类。但开箱即用,记录支持http:https:ftp:file:。您可以通过快速的+canHandleRequest: 呼叫对其进行测试。

    根据经验,系统也支持data: URL。我已经向 Apple 提交了 radar://problem/13649313,要求他们记录下来。

    【讨论】:

      【解决方案2】:

      内置的 URL 协议可以处理方案httphttpsfileftpaboutdata

      您可以定义自己的协议,使 NSURL 系统使用 NSURLProtocol 类自动处理新方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        • 1970-01-01
        相关资源
        最近更新 更多