The [collected ABNF of RFC 3986](https://tools.ietf.org/html/rfc3986#appendix-A) is a brief three screenful. In contrast, the [algorithm](https://url.spec.whatwg.org/#concept-basic-url-parser) in the WHATWG spec is roughly eighteen screenful. It is an overly detailed and nonstandard way of defining a grammar. This makes it harder to determine which language is accepted by this algorithm. It also makes it hard for me to determine what the changes are, compared to the RFC. Implementing the WHATWG spec would (for me) involve a complete rewrite. https://github.com/whatwg/url/issues/24 https://www.more-magic.net/posts/an-appeal-to-whatwg-uri-spec.html