url: Parsed URIs

 
 2.1 Parsed URI structures
 =========================
 
 Each parsed URI structure contains the following slots:
 
 ‘type’
      The URI scheme (a string, e.g., ‘http’).  SeeSupported URL
      Types, for a list of schemes that the ‘url’ library knows how to
      process.  This slot can also be ‘nil’, if the URI is not fully
      specified.
 
 ‘user’
      The user name (a string), or ‘nil’.
 
 ‘password’
      The user password (a string), or ‘nil’.  The use of this URI
      component is strongly discouraged; nowadays, passwords are
      transmitted by other means, not as part of a URI.
 
 ‘host’
      The host name (a string), or ‘nil’.  If present, this is typically
      a domain name or IP address.
 
 ‘port’
      The port number (an integer), or ‘nil’.  Omitting this component
      usually means to use the “standard” port associated with the URI
      scheme.
 
 ‘filename’
      The combination of the “path” and “query” components of the URI (a
      string), or ‘nil’.  If the query component is present, it is the
      substring following the first ‘?’ character, and the path component
      is the substring before the ‘?’.  The meaning of these components
      is scheme-dependent; they do not necessarily refer to a file on a
      disk.
 
 ‘target’
      The fragment component (a string), or ‘nil’.  The fragment
      component specifies a “secondary resource”, such as a section of a
      webpage.
 
 ‘fullness’
      This is ‘t’ if the URI is fully specified, i.e., the hierarchical
      components of the URI (the hostname and/or username and/or
      password) are preceded by ‘//’.
 
    These slots have accessors named ‘url-PART’, where PART is the slot
 name.  For example, the accessor for the ‘host’ slot is the function
 ‘url-host’.  The ‘url-port’ accessor returns the default port for the
 URI scheme if the parsed URI’s PORT slot is ‘nil’.
 
    The slots can be set using ‘setf’.  For example:
 
      (setf (url-port url) 80)