diff --git a/url.bs b/url.bs index fe2f9f3..3c08d5d 100644 --- a/url.bs +++ b/url.bs @@ -555,7 +555,6 @@ encoding U+0025 (%) and thus give “roundtripable data”: component percent U+0025 (%) untouched and as such it needs to be percent-encoded first in order to be properly represented. -
The domain to ASCII algorithm, given a string domain and a boolean beStrict, runs these steps: @@ -926,7 +926,9 @@ concepts.
This document and the web platform at large use
Unicode IDNA Compatibility Processing and not IDNA2008. For instance,
☕.example
becomes xn--53h.example
and not failure. [[UTS46]] [[RFC5890]]
+
The domain to Unicode algorithm, given a domain domain and a boolean beStrict, runs these steps: @@ -940,6 +942,7 @@ concepts.
Signify domain-to-Unicode validation errors for any returned errors, and then, return result. +
The host serializer takes a host host and then runs these steps. They return an ASCII string. @@ -1405,8 +1409,10 @@ actually doing that with the editors of this document first.
Otherwise, host is a domain, opaque host, or empty host, return host. +
The IPv4 serializer takes an IPv4 address address and then runs these steps. They return an ASCII string.
Return output.
The IPv6 serializer takes an IPv6 address
address and then runs these steps. They return an ASCII string.
@@ -1480,16 +1488,16 @@ The IPv4 serializer takes an IPv4 addre
This algorithm requires the recommendation from
A Recommendation for IPv6 Address Text Representation.
[[RFC5952]]
-
-
+
Certificate comparison requires a host equivalence check that ignores the trailing dot of a domain (if any). However, those hosts have also various other facets @@ -1878,6 +1886,7 @@ if all of the following are true:
To shorten a url's path:
Remove path's last item, if any.
The URL parser takes a scalar value string input, with an optional null or base URL base (default null) and an optional encoding encoding (default @@ -2101,9 +2112,11 @@ different document encoding. Using the UTF-8 encoding everywhere solves t
Return url. +
The basic URL parser takes a scalar value string input, with an optional null or base URL base (default null), an optional encoding encoding (default @@ -2949,22 +2962,28 @@ and then runs these steps:
Return url. +
To set the username given a url and username, set url's username to the result of running UTF-8 percent-encode on username using the userinfo percent-encode set. +
To set the password given a url and password, set url's password to the result of running UTF-8 percent-encode on password using the userinfo percent-encode set. +
The URL serializer takes a URL url, with an optional boolean exclude fragment (default false), and then runs @@ -3023,7 +3042,9 @@ these steps. They return an ASCII string.
Return output. +
The URL path serializer takes a URL url and then runs these steps. They return an ASCII string. @@ -3038,10 +3059,12 @@ these steps. They return an ASCII string.
Return output. +
To determine whether a URL A equals URL B, with an optional boolean exclude fragments (default false), @@ -3058,6 +3081,7 @@ run these steps:
Return true if serializedA is serializedB; otherwise false. +
See origin's definition in HTML for the necessary background information. [[HTML]] +
The origin of a URL url
is the origin returned by running these steps, switching on url's
scheme:
@@ -3114,6 +3139,7 @@ is the origin returned by running these steps, switching on ur
This does indeed mean that these URLs cannot be same origin with
themselves.
+
_charset
`. Such logic is not described here as only UTF-8 is conforming.
+The
application/x-www-form-urlencoded
parser
takes a byte sequence input, and then runs these steps:
@@ -3260,10 +3287,12 @@ takes a byte sequence input, and then runs these steps:
Return output. +
application/x-www-form-urlencoded
serializingThe
application/x-www-form-urlencoded
serializer
takes a list of name-value tuples tuples, with an optional encoding
@@ -3301,6 +3330,7 @@ takes a list of name-value tuples tuples, with an optional e
To potentially strip trailing spaces from an opaque path given a {{URL}} object url: @@ -3369,7 +3400,9 @@ interface URL {
Remove all trailing U+0020 SPACE code points from url's URL's path. +
The API URL parser takes a scalar value string url and an optional null-or-scalar value string base (default null), and then runs these steps: @@ -3389,6 +3422,7 @@ null-or-scalar value string base (default null), and then runs
Return the result of running the basic URL parser on url with parsedBase. +
To initialize a {{URL}} object url with a URL @@ -3480,6 +3514,7 @@ steps are:
The static canParse(url, base)
method steps are:
@@ -3491,13 +3526,17 @@ method steps are:
Return true. +
The href
getter steps and the
toJSON()
method steps are to return the
serialization of this's URL.
+
The href
setter steps are:
The origin
getter steps are to return the
serialization of this's URL's
origin. [[!HTML]]
+
The protocol
setter steps are to
basic URL parse the given value, followed by U+003A (:), with
this's URL as url and
scheme start state as state override.
+
The username
setter steps are:
Set the username given this's URL and the given value.
The password
setter steps are:
Set the password given this's URL and the given value.
The host
getter steps are:
The host
setter steps are:
host
getter does return a URL-port string so
one might have assumed the setter to always "reset" both.
+The hostname
getter steps are:
Return this's URL's host, serialized.
The hostname
setter steps are:
The port
getter steps are:
Return this's URL's port, serialized.
The port
setter steps are:
The pathname
getter steps are to return the result of
URL path serializing this's URL.
+
The pathname
setter steps are:
The search
getter steps are:
The search
setter steps are:
The searchParams
getter steps are to return
this's query object.
+
The hash
getter steps are:
The hash
setter steps are:
The {{URL/hash}} setter has the potential to change this's URL's path in a manner equivalent to the {{URL/search}} setter. +