The File URI Scheme is a URI scheme defined in RFC8089, typically used to retrieve files from within one's own computer.

Other Kinds of Boot Files. Under normal conditions, a computer is configured to boot to a hard drive that stores the operating system, like Windows. When the computer first boots up, the proper boot files mentioned above are read and the operating system can load from the drive.

  • Access Google Drive with a free Google account (for personal use) or Google Workspace account (for business use).
  • If you use Windows, you can access Box Drive by opening Explorer and navigating to the folder named Box. Open this folder to display all of the contents of your All Files page on You can navigate through any folder and open every file you see just as if it were a local file.
  • Drive integrates with and complements your team’s existing technology. Collaborate in Microsoft Office files without the need to convert file formats, and edit and store over 100 additional file.

Previously the file URI scheme was specified in RFC1630 and RFC1738. The Internet Engineering Task Force (IETF) published RFC 8089, updating the latter RFC, with 'a syntax based on the generic syntax of RFC3986 that is compatible with most existing usages.'[1]


A file URI takes the form of

where host is the fully qualified domain name of the system on which the path is accessible, and path is a hierarchical directory path of the form directory/directory/../name. If host is omitted, it is taken to be 'localhost', the machine from which the URL is being interpreted. Note that when omitting host, the slash is not omitted (while 'file:///foo.txt' is valid, 'file://foo.txt' is not, although some interpreters manage to handle the latter).

RFC 3986 includes additional information about the treatment of '.' and '.' segments in URIs.

How many slashes?[edit]

  • The // after the file: denotes that either a hostname or the literal term localhost will follow,[2] although this part may be omitted entirely, or may contain an empty hostname.[3]
  • The single slash between host and path denotes the start of the local-path part of the URI and must be present.[4]
  • A valid file URI must therefore begin with either file:/path (no hostname), file:///path (empty hostname), or file://hostname/path.
  • file://path (i.e. two slashes, without a hostname) is never correct, but is often used.
  • Further slashes in path separate directory names in a hierarchical system of directories and subdirectories. In this usage, the slash is a general, system-independent way of separating the parts, and in a particular host system it might be used as such in any pathname (as in Unix systems).

There are two ways that Windows UNC filenames (such as serverfolderdata.xml) can be represented. These are both described in [5] as 'non-standard'. The first way (called here the 2-slash format) is to represent the server name using the Authority part of the URI, which then becomes file://server/folder/data.xml. The second way (called here the 4-slash format) is to represent the server name as part of the Path component, so the URI becomes file:////server/folder/data.xml. Both forms are actively used. Microsoft .NET (for example, the method new Uri(path)) generally uses the 2-slash form; Java (for example, the method new URI(path)) generally uses the 4-slash form. Either form allows the most common operations on URIs (resolving relative URIs, and dereferencing to obtain a connection to the remote file) to be used successfully. However, because these URIs are non-standard, some less common operations fail: an example is the normalize operation (defined in RFC 3986 and implemented in the Java method) which reduces file:////server/folder/data.xml to the unusable form file:/server/folder/data.xml.



Here are two Unix examples pointing to the same /etc/fstab file:



Here are some examples which may be accepted by some applications on Windows systems, referring to the same, local file c:WINDOWSclock.avi

Here is the URI as understood by the Windows Shell API:[6]

Note that the drive letter followed by a colon and slash is part of the acceptable file URI.



On Microsoft Windows systems, the normal colon (:) after a device letter has sometimes been replaced by a vertical bar ( ) in file URLs. This reflected the original URL syntax, which made the colon a reserved character in a path part.

Since Internet Explorer 4, file URIs have been standardized on Windows, and should follow the following scheme. This applies to all applications which use URLMON or SHLWAPI for parsing, fetching or binding to URIs. To convert a path to a URL, use UrlCreateFromPath, and to convert a URL to a path, use PathCreateFromUrl.[6]

To access a file 'the file.txt', the following might be used.

For a network location:

Or for a local file, the hostname is omitted, but the slash is not (note the third slash):

Drive File Stream M1 Mac

This is not the same as providing the string 'localhost' or the dot '.' in place of the hostname. The string 'localhost' will attempt to access the file as UNC path localhostc:pathtothe file.txt, which will not work since the colon is not allowed in a share name. The dot '.' results in the string being passed as .c:pathtothe file.txt, which will work for local files, but not shares on the local system. For example file://./sharename/path/to/the%20file.txt will not work, because it will result in sharename being interpreted as part of the DOSDEVICES namespace, not as a network share.

The following outline roughly describes the requirements.

  • The colon should be used, and should not be replaced with a vertical bar for Internet Explorer.
  • Forward slashes should be used to delimit paths.
  • Characters such as the hash (#) or question mark (?) which are part of the filename should be percent-encoded.
  • Characters which are not allowed in URIs, but which are allowed in filenames, must also be percent-encoded. For example, any of '{}`^ ' and all control characters. In the example above, the space in the filename is encoded as %20.
  • Characters which are allowed in both URIs and filenames must NOT be percent-encoded.
  • Must not use legacy ACP encodings. (ACP code pages are specified by DOS CHCP or Windows Control Panel language setting.)
  • Unicode characters outside of the ASCII range must be UTF-8 encoded, and those UTF-8 encodings must be percent-encoded.

Use the provided functions if possible. If you must create a URL programmatically and cannot access SHLWAPI.dll (for example from script, or another programming environment where the equivalent functions are not available) the above outline will help.

Legacy URLs[edit]

To aid the installed base of legacy applications on Win32 PathCreateFromUrl recognizes certain URLs which do not meet these criteria, and treats them uniformly. These are called 'legacy' file URLs as opposed to 'healthy' file URLs.[7]

Google Drive File Stream Download


In the past, a variety of other applications have used other systems. Some added an additional two slashes. For example, UNC path remotehostsharedirfile.txt would become file:////remotehost/share/dir/file.txt instead of the 'healthy' file://remotehost/share/dir/file.txt.

Drive File

Web pages[edit]

How To Reconnect File History Drive

File URLs are rarely used in Web pages on the public Internet, since they imply that a file exists on the designated host. The host specifier can be used to retrieve a file from an external source, although no specific file-retrieval protocol is specified; and using it should result in a message that informs the user that no mechanism to access that machine is available.


  1. ^The 'file' URI Scheme. doi:10.17487/RFC8089. RFC8089. Retrieved October 16, 2018.
  2. ^RFC 8089, Section 2
  3. ^RFC 3986, Section 3.2.2
  4. ^RFC 3986, Section 3.3
  5. ^RFC 8089, Appendix E
  6. ^ abRisney, Dave (2006). 'File URIs in Windows'. IEBlog. Microsoft Corporation. Retrieved 2020-10-02.
  7. ^The Bizarre and Unhappy Story of 'file:' URLs - Free Associations - Site Home - MSDN Blogs. (2005-05-19). Retrieved on 2014-03-08.

External links[edit]

Drive File Share

Retrieved from ''
⇒ ⇒ Ios 13.2