Use the protocol as a key for caching

closes #313
Merge pull request #314 from mfairchild365/develop

Use the protocol as a key for caching