< draft-fielding-url-syntax-08.txt   draft-fielding-url-syntax-09.txt >
Network Working Group T. Berners-Lee, MIT/LCS Network Working Group T. Berners-Lee, MIT/LCS
INTERNET-DRAFT R. Fielding, U.C. Irvine INTERNET-DRAFT R. Fielding, U.C. Irvine
draft-fielding-url-syntax-08 L. Masinter, Xerox Corporation draft-fielding-url-syntax-09 L. Masinter, Xerox Corporation
Expires six months after publication date October 14, 1997 Expires six months after publication date October 21, 1997
Uniform Resource Locators (URL): Generic Syntax and Semantics Uniform Resource Locators (URL): Generic Syntax and Semantics
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts. working documents as Internet-Drafts.
skipping to change at line 591 skipping to change at line 591
field. This practice is NOT RECOMMENDED, because the passing of field. This practice is NOT RECOMMENDED, because the passing of
authentication information in clear text (such as URLs) has proven to authentication information in clear text (such as URLs) has proven to
be a security risk in almost every case where it has been used. be a security risk in almost every case where it has been used.
The host is a domain name of a network host, or its IPv4 address as The host is a domain name of a network host, or its IPv4 address as
a set of four decimal digit groups separated by ".". Literal IPv6 a set of four decimal digit groups separated by ".". Literal IPv6
addresses are not supported. addresses are not supported.
hostport = host [ ":" port ] hostport = host [ ":" port ]
host = hostname | IPv4address host = hostname | IPv4address
hostname = *( domainlabel "." ) toplabel hostname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel = alpha | alpha *( alphanum | "-" ) alphanum toplabel = alpha | alpha *( alphanum | "-" ) alphanum
IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit
port = *digit port = *digit
Hostnames take the form described in Section 3.5 of [RFC1034] and Hostnames take the form described in Section 3 of [RFC1034] and
Section 2.1 of [RFC1123]: a sequence of domain labels separated by Section 2.1 of [RFC1123]: a sequence of domain labels separated by
".", each domain label starting and ending with an alphanumeric ".", each domain label starting and ending with an alphanumeric
character and possibly also containing "-" characters. The rightmost character and possibly also containing "-" characters. The rightmost
domain label of a fully qualified domain name will never start with a domain label of a fully qualified domain name will never start with a
digit, thus syntactically distinguishing domain names from IPv4 digit, thus syntactically distinguishing domain names from IPv4
addresses. To actually be "Uniform" as a resource locator, a URL addresses, and may be followed by a single "." if it is necessary to
hostname should be a fully qualified domain name. In practice, distinguish between the complete domain name and any local domain.
however, the host component may be a local domain literal. To actually be "Uniform" as a resource locator, a URL hostname should
be a fully qualified domain name. In practice, however, the host
component may be a local domain literal.
Note: A suitable representation for including a literal IPv6 Note: A suitable representation for including a literal IPv6
address as the host part of a URL is desired, but has not yet address as the host part of a URL is desired, but has not yet
been determined or implemented in practice. been determined or implemented in practice.
The port is the network port number for the server. Most schemes The port is the network port number for the server. Most schemes
designate protocols that have a default port number. Another port designate protocols that have a default port number. Another port
number may optionally be supplied, in decimal, separated from the number may optionally be supplied, in decimal, separated from the
host by a colon. If the port is omitted, the default port number is host by a colon. If the port is omitted, the default port number is
assumed. assumed.
skipping to change at line 1003 skipping to change at line 1005
intended to be secret. In particular, the use of a password within intended to be secret. In particular, the use of a password within
the "site" component of a URL is strongly disrecommended except the "site" component of a URL is strongly disrecommended except
in those rare cases where the 'password' parameter is intended in those rare cases where the 'password' parameter is intended
to be public. to be public.
8. Acknowledgements 8. Acknowledgements
This document was derived from RFC 1738 [RFC1738] and RFC 1808 This document was derived from RFC 1738 [RFC1738] and RFC 1808
[RFC1808]; the acknowledgements in those specifications still [RFC1808]; the acknowledgements in those specifications still
apply. In addition, contributions by Lauren Wood, Martin Duerst, apply. In addition, contributions by Lauren Wood, Martin Duerst,
Gisle Aas, Martijn Koster, Ryan Moats and Foteos Macrides are Gisle Aas, Martijn Koster, Ryan Moats, Foteos Macrides and
gratefully acknowledged. Dave Kristol are gratefully acknowledged.
9. References 9. References
[RFC1630] Berners-Lee, T., "Universal Resource Identifiers in WWW: A [RFC1630] Berners-Lee, T., "Universal Resource Identifiers in WWW: A
Unifying Syntax for the Expression of Names and Addresses of Unifying Syntax for the Expression of Names and Addresses of
Objects on the Network as used in the World-Wide Web", RFC 1630, Objects on the Network as used in the World-Wide Web", RFC 1630,
CERN, June 1994. CERN, June 1994.
[RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, Editors, [RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, Editors,
"Uniform Resource Locators (URL)", RFC 1738, CERN, Xerox "Uniform Resource Locators (URL)", RFC 1738, CERN, Xerox
skipping to change at line 1156 skipping to change at line 1158
site = server | authority site = server | authority
authority = *( unreserved | escaped | authority = *( unreserved | escaped |
";" | ":" | "@" | "&" | "=" | "+" ) ";" | ":" | "@" | "&" | "=" | "+" )
server = [ [ userinfo ] "@" ] hostport ] server = [ [ userinfo ] "@" ] hostport ]
userinfo = *( unreserved | escaped | ":" | ";" | "&" | userinfo = *( unreserved | escaped | ":" | ";" | "&" |
"=" | "+" ) "=" | "+" )
hostport = host [ ":" port ] hostport = host [ ":" port ]
host = hostname | IPv4address host = hostname | IPv4address
hostname = *( domainlabel "." ) toplabel hostname = *( domainlabel "." ) toplabel [ "." ]
domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel = alpha | alpha *( alphanum | "-" ) alphanum toplabel = alpha | alpha *( alphanum | "-" ) alphanum
IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit IPv4address = 1*digit "." 1*digit "." 1*digit "." 1*digit
port = *digit port = *digit
path = [ "/" ] path_segments path = [ "/" ] path_segments
path_segments = segment *( "/" segment ) path_segments = segment *( "/" segment )
segment = *pchar *( ";" param ) segment = *pchar *( ";" param )
param = *pchar param = *pchar
pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+" pchar = unreserved | escaped | ":" | "@" | "&" | "=" | "+"
 End of changes. 6 change blocks. 
10 lines changed or deleted 12 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/