|  | # Component URLs {#component-urls} | 
|  |  | 
|  | A component URL is a [URL][wiki-url] that locates a component, including its | 
|  | declaration, program, and assets. Component URLs are resolved to | 
|  | [component declarations][doc-manifests-declaration] by a | 
|  | [resolver][doc-resolvers]. | 
|  |  | 
|  | ## Usage | 
|  |  | 
|  | The primary use of component URLs is to identify a component in the definition | 
|  | of a component instance, as part of a | 
|  | [child declaration][doc-manifests-children]. | 
|  |  | 
|  | You should not use component URLs to identify component *instances*, as multiple | 
|  | component instances can share the same URL. For that purpose, instead use | 
|  | [monikers][doc-monikers]. | 
|  |  | 
|  | ## Format | 
|  |  | 
|  | A component URL can, in principle, have any [scheme][rfc-uri-scheme]. Some | 
|  | common schemes you may encounter are: | 
|  |  | 
|  | -   [fuchsia-pkg](#fuchsia-pkg) | 
|  | -   [fuchsia-boot](#fuchsia-boot) | 
|  | -   [http(s)](#http) | 
|  |  | 
|  | ### fuchsia-pkg {#fuchsia-pkg} | 
|  |  | 
|  | A `fuchsia-pkg` component URL is a [package URL][doc-package-url] that locates a | 
|  | component distributed in a [Fuchsia package][doc-package]. | 
|  |  | 
|  | It has the same format as [package URL][doc-package-url], with a | 
|  | [resource path][doc-package-url-resource-path] relative to the package root that | 
|  | locates a [component manifest][doc-manifests]. This path is usually of the form | 
|  | `meta/<manifest_name>.cm`. | 
|  |  | 
|  | ``` | 
|  | fuchsia-pkg://<repo-hostname>[/<pkg-name>[/<pkg-variant>][?hash=<pkg-hash>][#<path-to-manifest>]] | 
|  | ``` | 
|  |  | 
|  | Example: | 
|  |  | 
|  | ``` | 
|  | fuchsia-pkg://fuchsia.com/stash#meta/stash_secure.cm | 
|  | ``` | 
|  |  | 
|  | ### fuchsia-boot {#fuchsia-boot} | 
|  |  | 
|  | A `fuchsia-boot` component URL locates a component in the system boot image. | 
|  | This scheme is used to identify components that must be resolved during early | 
|  | boot before a [`fuchsia-pkg`](#fuchsia-pkg) [resolver][doc-resolvers] is | 
|  | available. It has the following format: | 
|  |  | 
|  | ``` | 
|  | fuchsia-boot:///<path-to-manifest-in-bootfs> | 
|  | ``` | 
|  |  | 
|  | Example: | 
|  |  | 
|  | ``` | 
|  | fuchsia-boot:///#meta/driver_manager.cm | 
|  | ``` | 
|  |  | 
|  | ### http(s) {#http} | 
|  |  | 
|  | An `http(s)` component URL identifies a web page as a component. Such a | 
|  | component could be executed as a web page in a web [runner][doc-runners], for | 
|  | example. | 
|  |  | 
|  | Example: | 
|  |  | 
|  | ``` | 
|  | https://en.wikipedia.org/wiki/Hippos | 
|  | ``` | 
|  |  | 
|  | [doc-manifests]: component_manifests.md | 
|  | [doc-manifests-children]: component_manifests.md#children | 
|  | [doc-manifests-declaration]: component_manifests.md#component-declaration | 
|  | [doc-monikers]: monikers.md | 
|  | [doc-resolvers]: resolvers.md | 
|  | [doc-package]: /docs/concepts/packages/package.md | 
|  | [doc-package-url]: /docs/concepts/packages/package_url.md | 
|  | [doc-package-url-resource-path]: /docs/concepts/packages/package_url.md#resource-paths | 
|  | [doc-resolvers]: resolvers.md | 
|  | [doc-runners]: runners.md | 
|  | [wiki-url]: https://en.wikipedia.org/wiki/URL | 
|  | [rfc-uri-scheme]: https://tools.ietf.org/html/rfc3986#section-3.1 |