Where To Go From Here
Here is where you can download the final code for this tutorial.
This example covered a simple usage of NSURLProtocol
, but don’t mistake it as a complete solution for caching. There is a lot more to implementing a production-quality caching browser. In fact, the loading system has built-in caching configurations, which are worth getting to know. The goal of this tutorial is simply to show you the possibilities. Because NSURLProtocol
has access to the data going in and out of so many components, it’s very powerful! There are almost no limits to what you can do implementing the -startLoading
method.
While IETF’s RFC 3986 may modestly define URLs as a “…compact sequence of characters that identifies an abstract or physical resource…” the truth is that the URL is its own mini language. It’s the domain-specific language (DSL) for naming and locating things. It’s probably the most pervasive domain-specific language in the world, considering that URLs have crawled out of the screen and are now broadcast in radio and TV advertisements, printed in magazines and splashed on shop signs all over the world.
NSURLProtocol
is a language you can use in a myriad of ways. When Twitter wanted to implement the SPDY protocol on iOS, an optimized successor to HTTP 1.1, they did it with NSURLProtocol
. What you use it for, is up to you. NSURLProtocol
gives you power and flexibility at the same time requires a simple implementation to accomplish your goals.
Please, feel free to leave any questions or suggestions about this tutorial in our forum discussion. It’s right below!