The "clsid:" URL Scheme

Feb. 28, 1996 Draft


Abstract

A new URL scheme, "clsid:", is defined. It allows Component Object Model (COM) classes to be referenced.

Description

The <OBJECT> HTML element, described in @@ allows active objects to be inserted into HTML documents. The CLASSID attribute of <OBJECT> is a URL that identifies the class that is to be instantiated to create the object. This document describes the URL scheme that can be used to name Component Object Model (COM) classes. COM classes are named by CLSIDs, which are UUIDs as defined by OSF/DCE RPC. Other URL schemes will be created for other object systems such as Java.

The format of the "clsid:" URL is as follows:

  clsid:<clsid>

<clsid> is a COM CLSID in string form. Because "{" and "}" are considered "unsafe" for URLs (per RFC 1738@@), the CLSID is must appear without the brackets normally found on the string forms of CLSIDs.

For example, suppose there is a COM class that provides access to tabular data. In a C/C++ header file this class' CLSID would be represented thus:

  // {EFF6744C-7143-11cf-A51B-080036F12502}

static const UUID CLSID_TabularDataProvider =

{0xeff6744c, 0x7143, 0x11cf, {0xa5, 0x1b, 0x8, 0x0, 0x36, 0xf1,

0x25, 0x2}};

The normal convention for string versions of CLSIDs is to bracket the number in curly brackets:

  {EFF6744C-7143-11cf-A51B-080036F12502}

However, as previously mentioned, curly brackets are "unsafe" in URLs. Therefore, for the clsid: scheme the brackets are omitted:

  clsid:EFF6744C-7143-11cf-A51B-080036F12502

Security Considerations

Accessing an object referenced by a clsid: URL implies that foreign code will be executed (and possibly even downloaded prior to execution).

Author Contact Information

Charlie Kindel
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052-6300

References

The Component Object Model Specification

This is available from http://www.microsoft.com/intdev/inttech/comintro.htm.

The Microsoft Internet Technologies

Complete specifications for the Microsoft internet technologies can be found at: http://www.microsoft.com/intdev/default.htm.

RFC 1738 - Uniform Resource Locators (URL)

A text version of RFC 1738 can be found at: http://www.w3.org/pub/WWW/Addressing/rfc1738.txt

Inserting Multimedia Objects in HTML

A draft specification for Inserting multimedia objects into HTML can be found at: http://www.w3.org/pub/WWW/TR/WD-object.html.

OSF DCE/RPC

Further information about the OSF Distributed Computing Environment can be found at http://www.osf.org/dce.