{
    "mode": "man",
    "parameter": "URI",
    "section": "7",
    "url": "https://www.chedong.com/phpMan.php/man/URI/7/json",
    "generated": "2026-05-30T06:05:20Z",
    "synopsis": "URI = [ absoluteURI | relativeURI ] [ \"#\" fragment ]\nabsoluteURI = scheme \":\" ( hierarchicalpart | opaquepart )\nrelativeURI = ( netpath | absolutepath | relativepath ) [ \"?\" query ]\nscheme = \"http\" | \"ftp\" | \"gopher\" | \"mailto\" | \"news\" | \"telnet\" |\n\"file\" | \"man\" | \"info\" | \"whatis\" | \"ldap\" | \"wais\" | ...\nhierarchicalpart = ( netpath | absolutepath ) [ \"?\" query ]\nnetpath = \"//\" authority [ absolutepath ]\nabsolutepath = \"/\"  pathsegments\nrelativepath = relativesegment [ absolutepath ]",
    "sections": {
        "NAME": {
            "content": "uri, url, urn - uniform resource identifier (URI), including a URL or URN\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "URI = [ absoluteURI | relativeURI ] [ \"#\" fragment ]\n\nabsoluteURI = scheme \":\" ( hierarchicalpart | opaquepart )\n\nrelativeURI = ( netpath | absolutepath | relativepath ) [ \"?\" query ]\n\nscheme = \"http\" | \"ftp\" | \"gopher\" | \"mailto\" | \"news\" | \"telnet\" |\n\"file\" | \"man\" | \"info\" | \"whatis\" | \"ldap\" | \"wais\" | ...\n\nhierarchicalpart = ( netpath | absolutepath ) [ \"?\" query ]\n\nnetpath = \"//\" authority [ absolutepath ]\n\nabsolutepath = \"/\"  pathsegments\n\nrelativepath = relativesegment [ absolutepath ]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "A  Uniform  Resource Identifier (URI) is a short string of characters identifying an abstract\nor physical resource (for example, a web page).  A Uniform Resource Locator (URL)  is  a  URI\nthat  identifies  a  resource  through its primary access mechanism (e.g., its network \"loca‐\ntion\"), rather than by name or some other attribute of that  resource.   A  Uniform  Resource\nName  (URN)  is  a URI that must remain globally unique and persistent even when the resource\nceases to exist or becomes unavailable.\n\nURIs are the standard way to name hypertext link destinations for tools such as web browsers.\nThe string \"http://www.kernel.org\" is a URL (and thus it is also a URI).  Many people use the\nterm URL loosely as a synonym for URI (though technically URLs are a subset of URIs).\n\nURIs can be absolute or relative.  An absolute identifier refers to a resource independent of\ncontext,  while  a relative identifier refers to a resource by describing the difference from\nthe current context.  Within a relative path reference, the complete path  segments  \".\"  and\n\"..\" have special meanings: \"the current hierarchy level\" and \"the level above this hierarchy\nlevel\", respectively, just like they do in UNIX-like systems.  A path segment which  contains\na  colon  character  can't  be  used  as  the  first  segment  of  a relative URI path (e.g.,\n\"this:that\"), because it would be mistaken for a scheme name; precede such segments  with  ./\n(e.g., \"./this:that\").  Note that descendants of MS-DOS (e.g., Microsoft Windows) replace de‐\nvicename colons with the vertical bar (\"|\") in URIs, so \"C:\" becomes \"C|\".\n\nA fragment identifier, if included, refers to a particular named portion (fragment) of a  re‐\nsource;  text  after  a '#' identifies the fragment.  A URI beginning with '#' refers to that\nfragment in the current resource.\n",
            "subsections": [
                {
                    "name": "Usage",
                    "content": "There are many different URI schemes, each with specific additional rules and  meanings,  but\nthey are intentionally made to be as similar as possible.  For example, many URL schemes per‐\nmit the authority to be the following format, called here an ipserver (square brackets  show\nwhat's optional):\n\nipserver = [user [ : password ] @ ] host [ : port]\n\nThis  format  allows you to optionally insert a username, a user plus password, and/or a port\nnumber.  The host is the name of the host computer, either its name as determined by  DNS  or\nan  IP  address (numbers separated by periods).  Thus the URI <http://fred:fredpassword@exam‐\nple.com:8080/> logs into a web server on host example.com as fred (using fredpassword)  using\nport  8080.   Avoid  including  a  password in a URI if possible because of the many security\nrisks of having a password written down.  If the URL supplies a username but no password, and\nthe  remote  server  requests a password, the program interpreting the URL should request one\nfrom the user.\n\nHere are some of the most common schemes in use on UNIX-like systems that are  understood  by\nmany  tools.   Note  that  many  tools  using  URIs also have internal schemes or specialized\nschemes; see those tools' documentation for information on those schemes.\n"
                },
                {
                    "name": "http - Web (HTTP) server",
                    "content": "http://ipserver/path\nhttp://ipserver/path?query\n\nThis is a URL accessing a web (HTTP) server.  The default port is 80.  If the path refers  to\na directory, the web server will choose what to return; usually if there is a file named \"in‐\ndex.html\" or \"index.htm\" its content is returned, otherwise, a list of the files in the  cur‐\nrent   directory  (with  appropriate  links)  is  generated  and  returned.   An  example  is\n<http://lwn.net>.\n\nA query can be given in the archaic \"isindex\" format, consisting of a word or phrase and  not\nincluding  an  equal sign (=).  A query can also be in the longer \"GET\" format, which has one\nor more query entries of the form key=value separated by the ampersand character  (&).   Note\nthat key can be repeated more than once, though it's up to the web server and its application\nprograms to determine if there's any meaning to that.  There is  an  unfortunate  interaction\nwith HTML/XML/SGML and the GET query format; when such URIs with more than one key are embed‐\nded in SGML/XML documents (including HTML), the ampersand (&) has to be rewritten  as  &amp;.\nNote that not all queries use this format; larger forms may be too long to store as a URI, so\nthey use a different interaction mechanism (called POST) which does not include the  data  in\nthe  URI.  See the Common Gateway Interface specification at ⟨http://www.w3.org/CGI⟩ for more\ninformation.\n"
                },
                {
                    "name": "ftp - File Transfer Protocol (FTP)",
                    "content": "ftp://ipserver/path\n\nThis is a URL accessing a file through the file transfer protocol (FTP).   The  default  port\n(for  control)  is 21.  If no username is included, the username \"anonymous\" is supplied, and\nin that case many clients provide as the password the requestor's Internet email address.  An\nexample is <ftp://ftp.is.co.za/rfc/rfc1808.txt>.\n"
                },
                {
                    "name": "gopher - Gopher server",
                    "content": "gopher://ipserver/gophertype selector\ngopher://ipserver/gophertype selector%09search\ngopher://ipserver/gophertype selector%09search%09gopher+string\n\nThe  default  gopher port is 70.  gophertype is a single-character field to denote the Gopher\ntype of the resource to which the URL refers.  The entire path may also be  empty,  in  which\ncase the delimiting \"/\" is also optional and the gophertype defaults to \"1\".\n\nselector  is the Gopher selector string.  In the Gopher protocol, Gopher selector strings are\na sequence of octets which may contain any octets except 09 hexadecimal (US-ASCII HT or tab),\n0A hexadecimal (US-ASCII character LF), and 0D (US-ASCII character CR).\n"
                },
                {
                    "name": "mailto - Email address",
                    "content": "mailto:email-address\n\nThis is an email address, usually of the form name@hostname.  See mailaddr(7) for more infor‐\nmation on the correct format of an email address.  Note that any % character must be  rewrit‐\nten as %25.  An example is <mailto:dwheeler@dwheeler.com>.\n"
                },
                {
                    "name": "news - Newsgroup or News message",
                    "content": "news:newsgroup-name\nnews:message-id\n\nA   newsgroup-name   is   a   period-delimited  hierarchical  name,  such  as  \"comp.infosys‐\ntems.www.misc\".  If <newsgroup-name> is \"*\" (as in <news:*>), it is used  to  refer  to  \"all\navailable news groups\".  An example is <news:comp.lang.ada>.\n\nA  message-id  corresponds  to  the  Message-ID  of  IETF  RFC 1036, ⟨http://www.ietf.org/rfc\n/rfc1036.txt⟩ without the enclosing \"<\" and \">\"; it takes the  form  unique@fulldomainname.\nA  message  identifier may be distinguished from a news group name by the presence of the \"@\"\ncharacter.\n"
                },
                {
                    "name": "telnet - Telnet login",
                    "content": "telnet://ipserver/\n\nThe Telnet URL scheme is used to designate interactive text services that may be accessed  by\nthe  Telnet  protocol.   The final \"/\" character may be omitted.  The default port is 23.  An\nexample is <telnet://melvyl.ucop.edu/>.\n"
                },
                {
                    "name": "file - Normal file",
                    "content": "file://ipserver/pathsegments\nfile:pathsegments\n\nThis represents a file or directory accessible locally.  As a special case, ipserver can  be\nthe  string  \"localhost\"  or the empty string; this is interpreted as \"the machine from which\nthe URL is being interpreted\".  If the path is to a directory, the viewer should display  the\ndirectory's  contents  with  links to each containee; not all viewers currently do this.  KDE\nsupports generated files through the URL <file:/cgi-bin>.  If the  given  file  isn't  found,\nbrowser writers may want to try to expand the filename via filename globbing (see glob(7) and\nglob(3)).\n\nThe second format (e.g., <file:/etc/passwd>) is a correct format for  referring  to  a  local\nfile.  However, older standards did not permit this format, and some programs don't recognize\nthis as a URI.  A more portable syntax is to use an empty string as the server name, for  ex‐\nample,  <file:///etc/passwd>;  this form does the same thing and is easily recognized by pat‐\ntern matchers and older programs as a URI.  Note that if you really mean to say  \"start  from\nthe  current  location,\"  don't  specify  the  scheme  at  all;  use  a relative address like\n<../test.txt>, which has the side-effect of being scheme-independent.   An  example  of  this\nscheme is <file:///etc/passwd>.\n"
                },
                {
                    "name": "man - Man page documentation",
                    "content": "man:command-name\nman:command-name(section)\n\nThis refers to local online manual (man) reference pages.  The command name can optionally be\nfollowed by a parenthesis and section number; see man(7) for more information on the  meaning\nof  the  section numbers.  This URI scheme is unique to UNIX-like systems (such as Linux) and\nis not currently registered by the IETF.  An example is <man:ls(1)>.\n"
                },
                {
                    "name": "info - Info page documentation",
                    "content": "info:virtual-filename\ninfo:virtual-filename#nodename\ninfo:(virtual-filename)\ninfo:(virtual-filename)nodename\n\nThis scheme refers to online info reference pages (generated from texinfo files), a  documen‐\ntation format used by programs such as the GNU tools.  This URI scheme is unique to UNIX-like\nsystems (such as Linux) and is not currently registered by the IETF.   As  of  this  writing,\nGNOME and KDE differ in their URI syntax and do not accept the other's syntax.  The first two\nformats are the GNOME format; in nodenames all spaces are written as underscores.  The second\ntwo  formats  are  the KDE format; spaces in nodenames must be written as spaces, even though\nthis is forbidden by the URI standards.  It's hoped that in the future most tools will under‐\nstand  all  of  these formats and will always accept underscores for spaces in nodenames.  In\nboth GNOME and KDE, if the form without the nodename is used the nodename is  assumed  to  be\n\"Top\".   Examples of the GNOME format are <info:gcc> and <info:gcc#G++andGCC>.  Examples of\nthe KDE format are <info:(gcc)> and <info:(gcc)G++ and GCC>.\n"
                },
                {
                    "name": "whatis - Documentation search",
                    "content": "whatis:string\n\nThis scheme searches the database of short (one-line) descriptions of commands and returns  a\nlist  of  descriptions containing that string.  Only complete word matches are returned.  See\nwhatis(1).  This URI scheme is unique to UNIX-like systems (such as Linux) and  is  not  cur‐\nrently registered by the IETF.\n"
                },
                {
                    "name": "ghelp - GNOME help documentation",
                    "content": "ghelp:name-of-application\n\nThis  loads GNOME help for the given application.  Note that not much documentation currently\nexists in this format.\n"
                },
                {
                    "name": "ldap - Lightweight Directory Access Protocol",
                    "content": "ldap://hostport\nldap://hostport/\nldap://hostport/dn\nldap://hostport/dn?attributes\nldap://hostport/dn?attributes?scope\nldap://hostport/dn?attributes?scope?filter\nldap://hostport/dn?attributes?scope?filter?extensions\n\nThis scheme supports queries to the Lightweight Directory Access Protocol (LDAP), a  protocol\nfor  querying  a  set of servers for hierarchically organized information (such as people and\ncomputing resources).  See RFC 2255 ⟨http://www.ietf.org/rfc/rfc2255.txt⟩ for  more  informa‐\ntion on the LDAP URL scheme.  The components of this URL are:\n\nhostport    the  LDAP  server  to query, written as a hostname optionally followed by a colon\nand the port number.  The default LDAP port is  TCP  port  389.   If  empty,  the\nclient determines which the LDAP server to use.\n\ndn          the  LDAP Distinguished Name, which identifies the base object of the LDAP search\n(see RFC 2253 ⟨http://www.ietf.org/rfc/rfc2253.txt⟩ section 3).\n\nattributes  a comma-separated list of attributes to be returned; see RFC 2251 section  4.1.5.\nIf omitted, all attributes should be returned.\n\nscope       specifies  the scope of the search, which can be one of \"base\" (for a base object\nsearch), \"one\" (for a one-level search), or \"sub\" (for  a  subtree  search).   If\nscope is omitted, \"base\" is assumed.\n\nfilter      specifies  the  search filter (subset of entries to return).  If omitted, all en‐\ntries should be  returned.   See  RFC 2254  ⟨http://www.ietf.org/rfc/rfc2254.txt⟩\nsection 4.\n\nextensions  a comma-separated list of type=value pairs, where the =value portion may be omit‐\nted for options not requiring it.  An extension prefixed with a '!'  is  critical\n(must be supported to be valid), otherwise it is noncritical (optional).\n\nLDAP  queries are easiest to explain by example.  Here's a query that asks ldap.itd.umich.edu\nfor information about the University of Michigan in the U.S.:\n\nldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US\n\nTo just get its postal address attribute, request:\n\nldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress\n\nTo ask a host.com at port 6666 for information about the person with common name  (cn)  \"Babs\nJensen\" at University of Michigan, request:\n\nldap://host.com:6666/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)\n"
                },
                {
                    "name": "wais - Wide Area Information Servers",
                    "content": "wais://hostport/database\nwais://hostport/database?search\nwais://hostport/database/wtype/wpath\n\nThis   scheme   designates   a   WAIS  database,  search,  or  document  (see  IETF  RFC 1625\n⟨http://www.ietf.org/rfc/rfc1625.txt⟩ for more information on WAIS).  Hostport is  the  host‐\nname, optionally followed by a colon and port number (the default port number is 210).\n\nThe  first  form designates a WAIS database for searching.  The second form designates a par‐\nticular search of the WAIS database database.  The third form designates a  particular  docu‐\nment  within  a  WAIS database to be retrieved.  wtype is the WAIS designation of the type of\nthe object and wpath is the WAIS document-id.\n"
                },
                {
                    "name": "other schemes",
                    "content": "There are many other URI schemes.  Most tools that accept URIs support a set of internal URIs\n(e.g., Mozilla has the about: scheme for internal information, and the GNOME help browser has\nthe toc: scheme for various starting locations).  There are many schemes that have  been  de‐\nfined  but  are not as widely used at the current time (e.g., prospero).  The nntp: scheme is\ndeprecated in favor of the news: scheme.  URNs are to be supported by the urn: scheme, with a\nhierarchical name space (e.g., urn:ietf:... would identify IETF documents); at this time URNs\nare not widely implemented.  Not all tools support all schemes.\n"
                },
                {
                    "name": "Character encoding",
                    "content": "URIs use a limited number of characters so that they can be typed in and used in a variety of\nsituations.\n\nThe  following  characters  are  reserved, that is, they may appear in a URI but their use is\nlimited to their reserved purpose (conflicting data must be escaped before forming the URI):\n\n; / ? : @ & = + $ ,\n\nUnreserved characters may be included in a URI.  Unreserved characters include uppercase  and\nlowercase English letters, decimal digits, and the following limited set of punctuation marks\nand symbols:\n\n-  . ! ~ * ' ( )\n\nAll other characters must be escaped.  An escaped octet is encoded as  a  character  triplet,\nconsisting  of  the percent character \"%\" followed by the two hexadecimal digits representing\nthe octet code (you can use uppercase or lowercase letters for the hexadecimal digits).   For\nexample,  a  blank  space  must be escaped as \"%20\", a tab character as \"%09\", and the \"&\" as\n\"%26\".  Because the percent \"%\" character always has the reserved purpose of being the escape\nindicator,  it must be escaped as \"%25\".  It is common practice to escape space characters as\nthe plus symbol (+) in query text; this practice isn't uniformly defined in the relevant RFCs\n(which  recommend %20 instead) but any tool accepting URIs with query text should be prepared\nfor them.  A URI is always shown in its \"escaped\" form.\n\nUnreserved characters can be escaped without changing the semantics  of  the  URI,  but  this\nshould  not  be  done  unless  the URI is being used in a context that does not allow the un‐\nescaped character to appear.  For example, \"%7e\" is sometimes used instead of \"~\" in an  HTTP\nURL path, but the two are equivalent for an HTTP URL.\n\nFor URIs which must handle characters outside the US ASCII character set, the HTML 4.01 spec‐\nification (section B.2) and IETF RFC 2718 (section 2.2.5) recommend the following approach:\n\n1.  translate the character sequences into UTF-8 (IETF RFC 2279)—see utf-8(7)—and then\n\n2.  use the URI escaping mechanism, that is, use the %HH encoding for unsafe octets.\n"
                },
                {
                    "name": "Writing a URI",
                    "content": "When written, URIs should be placed inside double quotes (e.g., \"http://www.kernel.org\"), en‐\nclosed  in  angle  brackets  (e.g.,  <http://lwn.net>), or placed on a line by themselves.  A\nwarning for those who use double-quotes: never move extraneous punctuation (such as  the  pe‐\nriod ending a sentence or the comma in a list) inside a URI, since this will change the value\nof the URI.  Instead, use angle brackets instead, or switch to a quoting  system  that  never\nincludes  extraneous characters inside quotation marks.  This latter system, called the 'new'\nor 'logical' quoting system by \"Hart's Rules\" and the \"Oxford Dictionary for Writers and Edi‐\ntors\",  is  preferred  practice in Great Britain and hackers worldwide (see the Jargon File's\nsection     on      Hacker      Writing      Style,      ⟨http://www.fwi.uva.nl/~mes/jargon/h\n/HackerWritingStyle.html⟩,  for  more  information).  Older documents suggested inserting the\nprefix \"URL:\" just before the URI, but this form has never caught on.\n\nThe URI syntax was designed to be unambiguous.  However, as  URIs  have  become  commonplace,\ntraditional  media  (television,  radio, newspapers, billboards, etc.) have increasingly used\nabbreviated URI references consisting of only the authority and path portions of the  identi‐\nfied  resource  (e.g.,  <www.w3.org/Addressing>).  Such references are primarily intended for\nhuman interpretation rather than machine, with the assumption that  context-based  heuristics\nare sufficient to complete the URI (e.g., hostnames beginning with \"www\" are likely to have a\nURI prefix of \"http://\" and hostnames beginning  with  \"ftp\"  likely  to  have  a  prefix  of\n\"ftp://\").  Many client implementations heuristically resolve these references.  Such heuris‐\ntics may change over time, particularly when new schemes are introduced.  Since  an  abbrevi‐\nated  URI  has  the  same syntax as a relative URL path, abbreviated URI references cannot be\nused where relative URIs are permitted, and can be used only when there is  no  defined  base\n(such  as in dialog boxes).  Don't use abbreviated URIs as hypertext links inside a document;\nuse the standard format as described here.\n"
                }
            ]
        },
        "CONFORMING TO": {
            "content": "(IETF  RFC 2396)  ⟨http://www.ietf.org/rfc/rfc2396.txt⟩,  (HTML  4.0)   ⟨http://www.w3.org/TR\n/REC-html40⟩.\n",
            "subsections": []
        },
        "NOTES": {
            "content": "Any tool accepting URIs (e.g., a web browser) on a Linux system should be able to handle (di‐\nrectly or indirectly) all of the  schemes  described  here,  including  the  man:  and  info:\nschemes.  Handling them by invoking some other program is fine and in fact encouraged.\n\nTechnically the fragment isn't part of the URI.\n\nFor  information on how to embed URIs (including URLs) in a data format, see documentation on\nthat format.  HTML uses the format <A HREF=\"uri\"> text </A>.  Texinfo files  use  the  format\n@uref{uri}.   Man  and  mdoc have the recently added UR macro, or just include the URI in the\ntext (viewers should be able to detect :// as part of a URI).\n\nThe GNOME and KDE desktop environments currently vary in the URIs they accept, in  particular\nin  their  respective  help browsers.  To list man pages, GNOME uses <toc:man> while KDE uses\n<man:(index)>, and to list info pages, GNOME uses <toc:info> while KDE uses <info:(dir)> (the\nauthor  of this man page prefers the KDE approach here, though a more regular format would be\neven better).  In general, KDE uses <file:/cgi-bin/> as a prefix to a set of generated files.\nKDE prefers documentation in HTML, accessed via the <file:/cgi-bin/helpindex>.  GNOME prefers\nthe ghelp scheme to store and find documentation.  Neither browser handles  file:  references\nto  directories at the time of this writing, making it difficult to refer to an entire direc‐\ntory with a browsable URI.  As noted above, these environments differ in how they handle  the\ninfo:  scheme, probably the most important variation.  It is expected that GNOME and KDE will\nconverge to common URI formats, and a future version of this man page will describe the  con‐\nverged result.  Efforts to aid this convergence are encouraged.\n",
            "subsections": [
                {
                    "name": "Security",
                    "content": "A  URI  does not in itself pose a security threat.  There is no general guarantee that a URL,\nwhich at one time located a given resource, will continue to do so.  Nor is there any guaran‐\ntee that a URL will not locate a different resource at some later point in time; such a guar‐\nantee can be obtained only from the person(s) controlling that namespace and the resource  in\nquestion.\n\nIt is sometimes possible to construct a URL such that an attempt to perform a seemingly harm‐\nless operation, such as the retrieval of an entity associated with the resource, will in fact\ncause a possibly damaging remote operation to occur.  The unsafe URL is typically constructed\nby specifying a port number other than that reserved for the network  protocol  in  question.\nThe  client  unwittingly  contacts  a site that is in fact running a different protocol.  The\ncontent of the URL contains instructions that, when interpreted according to this other  pro‐\ntocol,  cause  an unexpected operation.  An example has been the use of a gopher URL to cause\nan unintended or impersonating message to be sent via a SMTP server.\n\nCaution should be used when using any URL that specifies a port number other than the default\nfor the protocol, especially when it is a number within the reserved space.\n\nCare  should  be taken when a URI contains escaped delimiters for a given protocol (for exam‐\nple, CR and LF characters for telnet protocols) that these are not unescaped before transmis‐\nsion.   This  might  violate the protocol, but avoids the potential for such characters to be\nused to simulate an extra operation or parameter in that protocol, which might lead to an un‐\nexpected and possibly harmful remote operation to be performed.\n\nIt  is  clearly  unwise to use a URI that contains a password which is intended to be secret.\nIn particular, the use of a password within the \"userinfo\" component of  a  URI  is  strongly\nrecommended  against except in those rare cases where the \"password\" parameter is intended to\nbe public.\n"
                }
            ]
        },
        "BUGS": {
            "content": "Documentation may be placed in a variety of locations, so there currently isn't  a  good  URI\nscheme  for  general  online  documentation  in  arbitrary  formats.   References of the form\n<file:///usr/doc/ZZZ> don't work because different distributions and local  installation  re‐\nquirements  may  place the files in different directories (it may be in /usr/doc, or /usr/lo‐\ncal/doc, or /usr/share, or somewhere else).  Also, the directory ZZZ usually changes  when  a\nversion changes (though filename globbing could partially overcome this).  Finally, using the\nfile: scheme doesn't easily support people who dynamically load documentation from the Inter‐\nnet (instead of loading the files onto a local filesystem).  A future URI scheme may be added\n(e.g., \"userdoc:\") to permit programs to include cross-references to more detailed documenta‐\ntion  without  having to know the exact location of that documentation.  Alternatively, a fu‐\nture version of the filesystem specification may specify file locations sufficiently so  that\nthe file: scheme will be able to locate documentation.\n\nMany  programs  and  file formats don't include a way to incorporate or implement links using\nURIs.\n\nMany programs can't handle all of these different URI formats; there  should  be  a  standard\nmechanism  to  load an arbitrary URI that automatically detects the users' environment (e.g.,\ntext or graphics, desktop environment, local user preferences, and currently executing tools)\nand invokes the right tool for any URI.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "lynx(1), man2html(1), mailaddr(7), utf-8(7)\n\nIETF RFC 2255 ⟨http://www.ietf.org/rfc/rfc2255.txt⟩\n",
            "subsections": []
        },
        "COLOPHON": {
            "content": "This  page  is  part  of  release  5.10 of the Linux man-pages project.  A description of the\nproject, information about reporting bugs, and the latest version of this page, can be  found\nat https://www.kernel.org/doc/man-pages/.\n\n\n\nLinux                                        2020-08-13                                       URI(7)",
            "subsections": []
        }
    },
    "summary": "uri, url, urn - uniform resource identifier (URI), including a URL or URN",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "lynx",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/lynx/1/json"
        },
        {
            "name": "man2html",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/man2html/1/json"
        },
        {
            "name": "mailaddr",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/mailaddr/7/json"
        },
        {
            "name": "utf-8",
            "section": "7",
            "url": "https://www.chedong.com/phpMan.php/man/utf-8/7/json"
        }
    ]
}