-'\"
.\" (C) Copyright 1999-2000 David A. Wheeler (dwheeler@dwheeler.com)
.\"
+.\" %%%LICENSE_START(VERBATIM)
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
.\"
.\" Fragments of this document are directly derived from IETF standards.
.\" For those fragments which are directly derived from such standards,
.\" Modified Fri Aug 21 23:00:00 1999 by David A. Wheeler (dwheeler@dwheeler.com)
.\" Modified Tue Mar 14 2000 by David A. Wheeler (dwheeler@dwheeler.com)
.\"
-.TH URI 7 2000-03-14 "Linux" "Linux Programmer's Manual"
+.TH URI 7 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
uri, url, urn \- uniform resource identifier (URI), including a URL or URN
.SH SYNOPSIS
.PP
URIs are the standard way to name hypertext link destinations
for tools such as web browsers.
-The string "http://www.kernelnotes.org" is a URL (and thus it
+The string "http://www.kernel.org" is a URL (and thus it
is also a URI).
Many people use the term URL loosely as a synonym for URI
(though technically URLs are a subset of URIs).
Within a relative path reference, the complete path segments "." and
".." have special meanings: "the current hierarchy level" and "the
level above this hierarchy level", respectively, just like they do in
-Unix-like systems.
+UNIX-like systems.
A path segment which contains a colon
character can't be used as the first segment of a relative URI path
(e.g., "this:that"), because it would be mistaken for a scheme name;
is the name of the host computer, either its name as determined by DNS
or an IP address (numbers separated by periods).
Thus the URI
-<http://fred:fredpassword@xyz.com:8080/>
-logs into a web server on host xyz.com
+<http://fred:fredpassword@example.com:8080/>
+logs into a web server on host example.com
as fred (using fredpassword) using port 8080.
Avoid including a password in a URI if possible because of the many
security risks of having a password written down.
server requests a password, the program interpreting the URL
should request one from the user.
.PP
-Here are some of the most common schemes in use on Unix-like systems
+Here are some of the most common schemes in use on UNIX-like systems
that are understood by many tools.
Note that many tools using URIs also have internal schemes or specialized
schemes; see those tools' documentation for information on those schemes.
interaction mechanism (called POST) which does
not include the data in the URI.
See the Common Gateway Interface specification at
-<http://www.w3.org/CGI> for more information.
+.UR http://www.w3.org\:/CGI
+.UE
+for more information.
.PP
.B "ftp \- File Transfer Protocol (FTP)"
.PP
A
.I message-id
corresponds to the Message-ID of
-.UR http://www.ietf.org/rfc/rfc1036.txt
+.UR http://www.ietf.org\:/rfc\:/rfc1036.txt
IETF RFC\ 1036,
.UE
without the enclosing "<"
.PP
This represents a file or directory accessible locally.
As a special case,
-.I host
+.I ip_server
can be the string "localhost" or the empty
string; this is interpreted as "the machine from which the URL is
being interpreted".
parenthesis and section number; see
.BR man (7)
for more information on the meaning of the section numbers.
-This URI scheme is unique to Unix-like systems (such as Linux)
+This URI scheme is unique to UNIX-like systems (such as Linux)
and is not currently registered by the IETF.
An example is <man:ls(1)>.
.PP
This scheme refers to online info reference pages (generated from
texinfo files),
a documentation format used by programs such as the GNU tools.
-This URI scheme is unique to Unix-like systems (such as Linux)
+This URI scheme is unique to UNIX-like systems (such as Linux)
and is not currently registered by the IETF.
As of this writing, GNOME and KDE differ in their URI syntax
and do not accept the other's syntax.
Only complete word matches are returned.
See
.BR whatis (1).
-This URI scheme is unique to Unix-like systems (such as Linux)
+This URI scheme is unique to UNIX-like systems (such as Linux)
and is not currently registered by the IETF.
.PP
.B "ghelp \- GNOME help documentation"
Lightweight Directory Access Protocol (LDAP), a protocol for querying
a set of servers for hierarchically organized information
(such as people and computing resources).
-More information on the LDAP URL scheme is available in
-.UR http://www.ietf.org/rfc/rfc2255.txt
-RFC\ 2255.
+See
+.UR http://www.ietf.org\:/rfc\:/rfc2255.txt
+RFC\ 2255
.UE
+for more information on the LDAP URL scheme.
The components of this URL are:
.IP hostport 12
the LDAP server to query, written as a hostname optionally followed by
.IP dn
the LDAP Distinguished Name, which identifies
the base object of the LDAP search (see
-.UR http://www.ietf.org/rfc/rfc2253.txt
+.UR http://www.ietf.org\:/rfc\:/rfc2253.txt
RFC\ 2253
.UE
section 3).
to return).
If omitted, all entries should be returned.
See
-.UR http://www.ietf.org/rfc/rfc2254.txt
+.UR http://www.ietf.org\:/rfc\:/rfc2254.txt
RFC\ 2254
.UE
section 4.
pairs, where the =value portion may be omitted for options not
requiring it.
An extension prefixed with a \(aq!\(aq is critical
-(must be supported to be valid), otherwise it is non-critical (optional).
+(must be supported to be valid), otherwise it is noncritical (optional).
.PP
LDAP queries are easiest to explain by example.
Here's a query that asks ldap.itd.umich.edu for information about
.PP
This scheme designates a WAIS database, search, or document
(see
-.UR http://www.ietf.org/rfc/rfc1625.txt
+.UR http://www.ietf.org\:/rfc\:/rfc1625.txt
IETF RFC\ 1625
.UE
for more information on WAIS).
(e.g., urn:ietf:... would identify IETF documents); at this time
URNs are not widely implemented.
Not all tools support all schemes.
-.SS "Character Encoding"
+.SS Character encoding
.PP
URIs use a limited number of characters so that they can be
typed in and used in a variety of situations.
.PP
Unreserved characters may be included in a URI.
Unreserved characters
-include upper and lower case English letters,
+include uppercase and lowercase English letters,
decimal digits, and the following
limited set of punctuation marks and symbols:
.IP
All other characters must be escaped.
An escaped octet is encoded as a character triplet, consisting of the
percent character "%" followed by the two hexadecimal digits
-representing the octet code (you can use upper or lower case letters
+representing the octet code (you can use uppercase or lowercase letters
for the hexadecimal digits).
For example, a blank space must be escaped
as "%20", a tab character as "%09", and the "&" as "%26".
the HTML 4.01 specification (section B.2) and
IETF RFC\ 2718 (section 2.2.5) recommend the following approach:
.IP 1. 4
-translate the character sequences into UTF-8 (IETF RFC\ 2279) \(em see
-.BR utf-8 (7)
-\(em and then
+translate the character sequences into UTF-8 (IETF RFC\ 2279)\(emsee
+.BR utf-8 (7)\(emand
+then
.IP 2.
use the URI escaping mechanism, that is,
use the %HH encoding for unsafe octets.
-.SS "Writing a URI"
+.SS Writing a URI
When written, URIs should be placed inside double quotes
-(e.g., "http://www.kernelnotes.org"),
+(e.g., "http://www.kernel.org"),
enclosed in angle brackets (e.g., <http://lwn.net>),
or placed on a line by themselves.
A warning for those who use double-quotes:
is preferred practice in Great Britain and hackers worldwide
(see the
Jargon File's section on Hacker Writing Style,
-.IR http://www.fwi.uva.nl/~mes/jargon/h/HackerWritingStyle.html ,
+.UR http://www.fwi.uva.nl\:/~mes\:/jargon\:/h\:/HackerWritingStyle.html
+.UE ,
for more information).
Older documents suggested inserting the prefix "URL:"
just before the URI, but this form has never caught on.
change over time, particularly when new schemes are introduced.
Since an abbreviated URI has the same syntax as a relative URL path,
abbreviated URI references cannot be used where relative URIs are
-permitted, and can only be used when there is no defined base
+permitted, and can be used only when there is no defined base
(such as in dialog boxes).
Don't use abbreviated URIs as hypertext links inside a document;
use the standard format as described here.
-.SH "CONFORMING TO"
-.PP
-.I http://www.ietf.org/rfc/rfc2396.txt
-(IETF RFC\ 2396),
-.I http://www.w3.org/TR/REC-html40
-(HTML 4.0).
+.SH CONFORMING TO
+.PP
+.UR http://www.ietf.org\:/rfc\:/rfc2396.txt
+(IETF RFC\ 2396)
+.UE ,
+.UR http://www.w3.org\:/TR\:/REC\-html40
+(HTML 4.0)
+.UE .
.SH NOTES
Any tool accepting URIs (e.g., a web browser) on a Linux system should
be able to handle (directly or indirectly) all of the
located a given resource, will continue to do so.
Nor is there any
guarantee that a URL will not locate a different resource at some
-later point in time; such a guarantee can only be
-obtained from the person(s) controlling that namespace and the
+later point in time; such a guarantee can be
+obtained only from the person(s) controlling that namespace and the
resource in question.
.PP
It is sometimes possible to construct a URL such that an attempt to
(though filename globbing could partially overcome this).
Finally, using the file: scheme doesn't easily support people
who dynamically load documentation from the Internet (instead of
-loading the files onto a local file system).
+loading the files onto a local filesystem).
A future URI scheme may be added (e.g., "userdoc:") to permit
programs to include cross-references to more detailed documentation
without having to know the exact location of that documentation.
-Alternatively, a future version of the file-system specification may
+Alternatively, a future version of the filesystem specification may
specify file locations sufficiently so that the file: scheme will
be able to locate documentation.
.PP
tools) and invokes the right tool for any URI.
.\" .SH AUTHOR
.\" David A. Wheeler (dwheeler@dwheeler.com) wrote this man page.
-.SH "SEE ALSO"
+.SH SEE ALSO
.BR lynx (1),
.BR man2html (1),
.BR mailaddr (7),
-.BR utf-8 (7),
-.UR http://www.ietf.org/rfc/rfc2255.txt
+.BR utf-8 (7)
+.PP
+.UR http://www.ietf.org\:/rfc\:/rfc2255.txt
IETF RFC\ 2255
.UE