﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
24	provide URL-safe FURLs	Brian Warner		"For several places in [http://allmydata.org Tahoe] we need to pass FURLS around in HTTP URL query arguments. The fact that normal FURLs look a lot like HTTP URLs causes problems with this: I've found that even after you URL-quote the FURL, the slashes in it can cause problems for HTTP reverse-proxies (what I observed was that the proxy un-escaped the URL and got confused by the
slashes in the query arguments, thinking they were part of the query itself).

To this end, it would be convenient if there were a URL-safe form of a FURL, preferably entirely base32 characters (with perhaps a few other URL-safe characters as delimiters, like maybe a decimal point or comma or something).

I'd like these FURLs to be passable to Tub.getReference just like the normal {{{pb://}}} FURL.

Zooko describes this in terms of ""compressed FURLs"", which are packed, non-human readable, and don't necessarily need to be self-describing. I'm hoping he'll chime in with his thoughts on this ticket.

I'm not sure what the best API for this would be.. maybe {{{Tub.compressFURL(oldfurl)}}} ? It doesn't need to be a method of the Tub, really.. {{{foolscap.compressFURL(oldfurl)}}} could work too.

"	enhancement	new	major	undecided	unknown	0.1.6			
