What are these bitcache:// URLs?

The Bitcache project defines an unofficial URI scheme wherein URIs that start with bitcache:// denote a specific bitstream (also known as blob) without tying down the location where that bitstream is stored.

The format of this URI scheme is simply bitcache://<fingerprint>, where <fingerprint> is the unique SHA-1 fingerprint of the bitstream in question.

Dereferencing a bitcache:// URI should yield the actual location of the bitstream, that is, a URL (typically using the http:// or a file:// schemes) the content of which can be retrieved.

An example using the Drupal API:

<?php
// "da39a3ee5e6b4b0d3255bfef95601890afd80709" is the SHA-1
// fingerprint for the empty string (that is, the string "")
$uri  = "bitcache://da39a3ee5e6b4b0d3255bfef95601890afd80709";
$url  = bitcache_resolve_uri($uri); // $url now contains "file:///dev/null"
$data = file_get_contents($url);    // $data now contains ""

The bitcache:// URIs are particularly important for use with RDF, as they allow describing metadata about a particular bitstream (which means, usually, a particular file) without having to know or keep track of the location of that bitstream.