diff --git a/draft-ietf-httpbis-no-vary-search.md b/draft-ietf-httpbis-no-vary-search.md index e7bfd84ba..e54707434 100644 --- a/draft-ietf-httpbis-no-vary-search.md +++ b/draft-ietf-httpbis-no-vary-search.md @@ -371,51 +371,16 @@ Due to how the application/x-www-form-urlencoded parser canonicalizes query stri So, for example, given any non-default value for `No-Vary-Search`, such as `No-Vary-Search: key-order`, we will have the following equivalences: -{: newline="true"} -
-
- https://example.com
- https://example.com/? -
-
A null query is parsed the same as an empty string
- -
- https://example.com/?a=x
- https://example.com/?%61=%78 -
-
Parsing performs percent-decoding
- -
- https://example.com/?a=é
- https://example.com/?a=%C3%A9 -
-
Parsing performs percent-decoding
- -
- https://example.com/?a=%f6
- https://example.com/?a=%ef%bf%bd -
-
Both values are parsed as U+FFFD (�)
- -
- https://example.com/?a=x&&&&
- https://example.com/?a=x -
-
Parsing splits on & and discards empty strings
- -
- https://example.com/?a=
- https://example.com/?a -
-
Both parse as having an empty string value for a
- -
- https://example.com/?a=%20
- https://example.com/?a=+
- https://example.com/?a= & -
-
+ and %20 are both parsed as U+0020 SPACE
-
+| Query A   | Query B           | Explanation | +|-------------+-----------------+-----------------------------------------------------| +| null | `?` | A null query is parsed the same as an empty string | +| `?a=x` | `?%61=%78` | Parsing performs percent-decoding | +| `?a=é` | `?a=%C3%A9` | Parsing performs percent-decoding | +| `?a=%f6` | `?a=%ef%bf%bd` | Both values are parsed as U+FFFD (�) | +| `?a=x&&&&` | `?a=x` | Parsing splits on `&` and discards empty strings | +| `?a=` | `?a` | Both parse as having an empty string value for `a` | +| `?a=%20` | `?a= &` | `%20` is parsed as U+0020 SPACE | +| `?a=+` | `?a= &` | `+` is parsed as U+0020 SPACE | # Caching {#caching}