A method and system for implementing URL scheme proxies. Embodiments of
the invention allow URL schemes that are not natively supported by a
computer to be supported via proxy, e.g., using a URL scheme that is
native to the computer to forward the non-native transport. More
specifically, embodiments of the invention allow a first computer system
to support a first URL scheme by encapsulating its transport information
into another URL scheme that is natively supported by the first computer.
The encapsulated information is then forwarded to a second computer
system or server which can provide support for the first URL scheme
transport. For instance, if the first computer supports http but does not
support ftp, then an ftp transport can be encapsulated inside an http
transport and then forwarded to an ftp server which can then extract and
process the ftp transport. The ftp response can be handled in an
analogous fashion. The invention increases the native URL scheme
capabilities of a computer system by proxy. In one embodiment, a system
registry is used in order to determine which helper code to use for a
particular URL scheme. The selection of helper code and whether native or
proxy support is selected are tasks that are transparent to the
application. The invention can allow a device with no Internet access to
act, transparently, as if it has Internet access.