www | Architecture | Addressing

Addressing Schemes

Refs * Registration * Extensibility

This is (an attempt at) an exhaustive list of URI schemes. We try to list them all, whether they're standard or not. If you know of any that aren't here, please tell us via uri@w3.org.

*unreg denotes an unregistered URI scheme. Registration and extensibility are discussed below.

see also: automation details below, separate scheme notes, including historial stuff

@@TODO: incorporate all these crazy URI-like thingies I'm fingind everywhere: disk: , jabber:, webcal:

this gets replaced by an index of scheme names generated from schemes.rdf.

References

this gets replaced by a bibliography generated from schemes.rdf.

Registration of naming schemes

The Internet Standard list of URI schemes is maintained by IANA according to RFC2717. This dates back to...

A new naming scheme may be introduced by defining a mapping onto a conforming URL syntax, using a new prefix. [...]

It is proposed that the Internet Assigned Numbers Authority (IANA) perform the function of registration of new schemes.

RFC 1630 URIs in WWW, June 1994

I periodically look at Internet Drafts containing "URL scheme" and the URI spec materials maintained by Roy Fielding to find new schemes.

Unregistered Schemes

Unregistered schemes should not be deployed widely and should not be used except experimentally. If you are designing a URI scheme, please see Guidelines for new URL Schemes, November 1999.

To the question "how many private URL schemes are there?," the answer was given that there were perhaps 20-40 in use at Microsoft, with 2-3 being added a day; WebTV has 24, with 6/year added. Maybe others have similar number of schemes.
-- minutes of the Uniform Resource Locator Registration Procedures (urlreg) WG meeting at the 39th IETF Meeting in Munich, Bavaria, Germany, Aug 1997

@@pointer to complaint about unregistered schemes in Mozilla.

How to Add URI Schemes to Your Desktop

It is recommended that those proposing a new scheme demonstrate its utility and operability by the provision of a gateway which will provide images of objects in the new scheme for clients using an existing protocol. If the new scheme is not a locator scheme, then the properties of names in the new space should be clearly defined. It is likewise recommended that, where a protocol allows for retrieval by URL, that the client software have provision for being configured to use specific gateway locators for indirect access through new naming schemes.
RFC 1630 URIs in WWW June 1994

The two on my personal to-do list are mid: and irc:.

@@how did Mosaic, viola, and Midas handle this? @@cite libwww API for adding new schemes, @@cite relevant Java APIs. Mac?

Netscape on Windows

5.3: Can I register my own protocol with Navigator?

It is possible to use NCAPI to register your own protocol. For instance, if you want to have all calls to "mySuperProtocol:" handled by your application, you should use NCAPI methods to get that functionality. However, it is not possible to register a viewer protocol on the Unix platform releases of Navigator.

-- DevEdge Newsgroup FAQ

an 1999: Netscape Navigator has long lacked extensibility in URI schemes, and it has had broken parsing. But the Mozilla folks are working on it. See bug 2110.

Windows Internet Explorer

excerpt from Appendix A: Registering an Application to a URL Protocol in Internet Client SDK

The following example shows which registry values must be added to register a new application (notepad.exe in this example) to handle a new URL protocol (note:).

[HKEY_CLASSES_ROOT]
    [note]
        (Default) = "URL:Note Protocol"
        URL Protocol = ""
        [DefaultIcon]
            (Default) = "notepad.exe"
        [shell]
            [open]
                [command]
                    (Default) = "c:\windows\notepad.exe %1"

By adding these settings to the registry, attempts to navigate to URLs such as note:c:\myfile.txt would launch Notepad to edit the file c:\myfile.txt. Of course, all the commands supported under Shell\Open are supported, including DDEEXEC (in other words, "command" is not the only key you can put under the verb).


Colophon/TODO

I recently (Mar 2001) made this index into a semantic web development project, with the help of Sean Palmer and Aaron Swartz see:

TODO

  1. make dublin core bibliography formatting available separately from the resto of the stuff that the transformation does
  2. merge RFC title/date/author/etc. stuff in from rfc-index; merge endorsement info from STD1?

    should refine dc:date to dc:issued for RFCs and internet drafts; infer dc:date using cwm/AlgyKB

and someday...

dublin core feedback: dca:agentName is redundant; just dca:name, pls.

Dan Connolly
created 1996/01/02 03:37:23
$Revision: 1.11 $ of $Date: 2002/12/14 06:03:32 $