NSURLProtocol的总结

http://www.cnblogs.com/xiaxlsblog/archive/2013/08/09/NSURLProtocol-xiaxl.html

NSURLProtocol是一个抽象类。NSURLProtocol是NSURLConnection的handler。

  所有的通过NSURLConnection发出的请求都会走NSURLProtocol协议。UIWebView也是走NSURLProtocol。

  NSURLProtocol通过+ (BOOL)registerClass:(Class)protocolClass;方法来注册一个类(该类必须是NSURLProtocol的子类),通过

  +(void)unregisterClass:(Class)protocolClass;来解除注册。

  NSURLConnection发出请求时,会去询问NSURLProtocol是否可以处理该请求,询问的顺序是:先询问最后注册的NSURLProtocol子类,遇到可以处理该请求的NSURLProtocol的子类,则停止询问;否则,继续询问。

  我们可以自己实现一个NSURLProtocol的子类,并实现NSURLProtocol提供的一些接口,比如:请求转发等等。从而,我们可以实现UIWebView的离线缓存策略等功能。

 
 
原文地址:https://www.cnblogs.com/feng9exe/p/7207175.html