.\" (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.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date. The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein. The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" %%%LICENSE_END
+.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 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 2017-09-15 "Linux" "Linux Programmer's Manual"
+.TH uri 7 (date) "Linux man-pages (unreleased)"
.SH NAME
uri, url, urn \- uniform resource identifier (URI), including a URL or URN
.SH SYNOPSIS
relative_path = relative_segment [ absolute_path ]
.fi
.SH DESCRIPTION
-.PP
A Uniform Resource Identifier (URI) is a short string of characters
identifying an abstract or physical resource (for example, a web page).
A Uniform Resource Locator (URL) is a URI
devicename colons with the vertical bar ("|") in URIs, so "C:" becomes "C|".
.PP
A fragment identifier, if included, refers to a particular named portion
-(fragment) of a resource; text after a \(aq#\(aq identifies the fragment.
-A URI beginning with \(aq#\(aq refers to that fragment in the current resource.
+(fragment) of a resource; text after a \[aq]#\[aq] identifies the fragment.
+A URI beginning with \[aq]#\[aq] refers to that fragment in the current resource.
.SS Usage
There are many different URI schemes, each with specific
additional rules and meanings, but they are intentionally made to be
for example,
<file:///etc/passwd>; this form does the same thing
and is easily recognized by pattern matchers and older programs as a URI.
-Note that if you really mean to say "start from the current location," don't
+Note that if you really mean to say "start from the current location", don't
specify the scheme at all; use a relative address like <../test.txt>,
which has the side-effect of being scheme-independent.
An example of this scheme is <file:///etc/passwd>.
.UE
for more information on the LDAP URL scheme.
The components of this URL are:
-.IP hostport 12
+.TP
+hostport
the LDAP server to query, written as a hostname optionally followed by
a colon and the port number.
The default LDAP port is TCP port 389.
If empty, the client determines which the LDAP server to use.
-.IP dn
+.TP
+dn
the LDAP Distinguished Name, which identifies
the base object of the LDAP search (see
.UR http://www.ietf.org\:/rfc\:/rfc2253.txt
RFC\ 2253
.UE
section 3).
-.IP attributes
+.TP
+attributes
a comma-separated list of attributes to be returned;
see RFC\ 2251 section 4.1.5.
If omitted, all attributes should be returned.
-.IP scope
+.TP
+scope
specifies the scope of the search, which can be one of
"base" (for a base object search), "one" (for a one-level search),
or "sub" (for a subtree search).
If scope is omitted, "base" is assumed.
-.IP filter
+.TP
+filter
specifies the search filter (subset of entries
to return).
If omitted, all entries should be returned.
RFC\ 2254
.UE
section 4.
-.IP extensions
+.TP
+extensions
a comma-separated list of type=value
pairs, where the =value portion may be omitted for options not
requiring it.
-An extension prefixed with a \(aq!\(aq is critical
+An extension prefixed with a \[aq]!\[aq] is critical
(must be supported to be valid), otherwise it is noncritical (optional).
.PP
LDAP queries are easiest to explain by example.
URNs are not widely implemented.
Not all tools support all schemes.
.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
URI but their use is limited to their reserved purpose
(conflicting data must be escaped before forming the URI):
.IP
- ; / ? : @ & = + $ ,
+.in +4n
+.EX
+; / ? : @ & = + $ ,
+.EE
+.in
.PP
Unreserved characters may be included in a URI.
Unreserved characters
-include uppercase and lowercase English letters,
+include uppercase and lowercase Latin letters,
decimal digits, and the following
limited set of punctuation marks and symbols:
.IP
- \- _ . ! \(ti * ' ( )
+.in +4n
+.EX
+\- _ . ! \[ti] * ' ( )
+.EE
+.in
.PP
All other characters must be escaped.
An escaped octet is encoded as a character triplet, consisting of the
Unreserved characters can be escaped without changing the semantics
of the URI, but this should not be done unless the URI is being used
in a context that does not allow the unescaped character to appear.
-For example, "%7e" is sometimes used instead of "\(ti" in an HTTP URL
+For example, "%7e" is sometimes used instead of "\[ti]" in an HTTP URL
path, but the two are equivalent for an HTTP URL.
.PP
For URIs which must handle characters outside the US ASCII character set,
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)\(emsee
-.BR utf\-8 (7)\(emand
+IETF RFC\~3986 (last paragraph of section 2.5)
+recommend the following approach:
+.IP (1) 5
+translate the character sequences into UTF-8 (IETF RFC\~3629)\[em]see
+.BR utf\-8 (7)\[em]and
then
-.IP 2.
+.IP (2)
use the URI escaping mechanism, that is,
use the %HH encoding for unsafe octets.
.SS Writing a URI
inside quotation marks.
This latter system, called the 'new' or 'logical' quoting system by
"Hart's Rules" and the "Oxford Dictionary for Writers and Editors",
-is preferred practice in Great Britain and hackers worldwide
-(see the
-Jargon File's section on Hacker Writing Style,
-.UR http://www.fwi.uva.nl\:/\(times\:/jargon\:/h\:/HackerWritingStyle.html
-.UE ,
-for more information).
+is preferred practice in Great Britain and in various European languages.
Older documents suggested inserting the prefix "URL:"
just before the URI, but this form has never caught on.
.PP
(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
+.SH STANDARDS
.UR http://www.ietf.org\:/rfc\:/rfc2396.txt
(IETF RFC\ 2396)
.UE ,
version of this man page will describe the converged result.
Efforts to aid this convergence are encouraged.
.SS Security
-.PP
A URI does not in itself pose a security threat.
There is no general guarantee that a URL, which at one time
located a given resource, will continue to do so.
the "userinfo" component of a URI is strongly recommended against except
in those rare cases where the "password" parameter is intended to be public.
.SH BUGS
-.PP
Documentation may be placed in a variety of locations, so there
currently isn't a good URI scheme for general online documentation
in arbitrary formats.
.BR lynx (1),
.BR man2html (1),
.BR mailaddr (7),
-.BR utf-8 (7)
+.BR utf\-8 (7)
.PP
.UR http://www.ietf.org\:/rfc\:/rfc2255.txt
IETF RFC\ 2255