[tahoe-dev] help: how should you tell a web browser what name to use for a file?
Ben Laurie
ben at links.org
Wed May 14 12:34:55 PDT 2008
Brian Warner wrote:
> So, in an attempt to make progress on this one, here's a new summary of the
> current proposals:
>
> 1: /named/FILECAP/FILENAME
> (where "named" might be spelled differently)
>
> 2: /cap/(FILECAP|DIRCAP+PATH)/$MAGIC/FILENAME
> 2a: $MAGIC = "", rejected because "//" feels dubious
> 2b: $MAGIC = "@@name="
>
> 3: /cap/(FILECAP|DIRCAP+PATH)/FILENAME
> (i.e. any attempt to lookup a "child of a file" results in the same file)
What happened to /.../FILENAME?cap
>
> If we go with #2, then whatever value we pick for $MAGIC must be removed from
> the list of child names that you're allowed to use in your Tahoe directories,
> and we need to document this fact. (I don't see how "escaping" the name would
> work.. that implies that there are two different string types involved, and
> then we have to document which API takes which type, which strikes me as more
> challenging than documenting the fact that your users aren't allowed to use
> $MAGIC as a file- or directory- name).
>
> Note that at the moment, the only limitation on these names is that they are
> a UTF-8 encoding of some valid unicode string. We might also require that
> they do not contain a slash, but I'm not sure.. I think you could use %2F to
> put a slash in one, which might be useful on platforms (windows? mac? VMS?
> :-) that allow slashes in filenames because they use something else as a
> delimiter.
>
> I expect this trick (making sure that /FILENAME appears at the end of the
> URL) to be used in two places:
>
> the human-oriented HTML directory browser (aka the "WUI"), as the HREF
> target of the left-most links that point to specific files, suitable for
> right-clicking and either doing "Save Link As" or pasting into some other
> tool like wget
>
> a fancier javascript-based frontend that has a need to give the user a URL
> from which they can download a specific file
>
> I expect that programs (using the machine-oriented "WAPI", with ?t=json and
> such) would not have much of a need for this feature, except when they want
> to give a URL to a human to give to some other program like wget. Programs
> are capable of deciding upon a filename for themselves.
>
> I do not expect to ever see this trick used with the DIRCAP+PATH form, for
> two reasons: first because any program or server which needs to create a
> downloadable / right-clickable / wgettable URL for such an object can
> determine the FILECAP itself and produce a URL that doesn't include the
> DIRCAP (which is less authority anyways), and second because the DIRCAP+PATH
> form already has the desired /FILENAME at the end of the URL (unless
> ?save=true has been added to it, and if a browser sees that it will honor the
> filename in the Content-Disposition header).
>
> So, examples of these URLs:
>
> #1: http://127.0.0.1:8123/named/URI%3ACHK%3Aime6pvkaxuetdfah2p2f35pe54%3A4btz54xk3tew6nd4y2ojpxj4m6wxjqqlwnztgre6gnjgtucd5r4a%3A3%3A10%3A202/welcome.txt
>
> #2a: http://127.0.0.1:8123/uri/URI%3ACHK%3Aime6pvkaxuetdfah2p2f35pe54%3A4btz54xk3tew6nd4y2ojpxj4m6wxjqqlwnztgre6gnjgtucd5r4a%3A3%3A10%3A202//welcome.txt
>
> #2b: http://127.0.0.1:8123/uri/URI%3ACHK%3Aime6pvkaxuetdfah2p2f35pe54%3A4btz54xk3tew6nd4y2ojpxj4m6wxjqqlwnztgre6gnjgtucd5r4a%3A3%3A10%3A202/@@name=/welcome.txt
>
> #3: http://127.0.0.1:8123/uri/URI%3ACHK%3Aime6pvkaxuetdfah2p2f35pe54%3A4btz54xk3tew6nd4y2ojpxj4m6wxjqqlwnztgre6gnjgtucd5r4a%3A3%3A10%3A202/welcome.txt
>
>
> I'm still happy with #1, with something better than "named" as the prefix.
>
> cheers,
> -Brian
> _______________________________________________
> tahoe-dev mailing list
> tahoe-dev at allmydata.org
> http://allmydata.org/cgi-bin/mailman/listinfo/tahoe-dev
>
>
--
http://www.apache-ssl.org/ben.html http://www.links.org/
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
More information about the tahoe-dev
mailing list