Document technical design precedence
mahmoud opened this issue · 5 comments
The URL is a complicated structure with a long history. Not all implementations and standards agree on the finer details.
Per discussion in #38, I need to add a new FAQ or section to the Design document that details the design goals in terms of precedence.
In general terms, the current precedence is RFC3986 (and other non-obsolete RFCs), browser behavior (particularly Firefox and Chrome), Twisted community practices, and somewhere down the line WHATWG. Some explanation of this is in order.
Also: consider adding this precedence and links to the doc to the repo's issue template.
(Hey @Lukasa the mention on the other issue was a hint that you should say a thing about why you prefer WHATWG)
My preference for WHATWG is purely pragmatic: ultimately the browsers train the majority of users and developers in how URLs will be handled. Not doing what browsers do leads your code to be considered buggy. So ultimately we should probably just conform.
@Lukasa Yeah, that was my understanding. Which is why @mahmoud's contention on #38 was a bit of a surprise to me:
As for the WHATWG, I think they're trying to flex muscle they doesn't have. If Chrome and Firefox don't do it, I'm not sure which Hypertext Applications do, you know?
Are the browsers following WHATWG or not? I honestly don't keep close enough tabs on this sort of thing to know; my general impression was that they were.
WHATWG is supposed to be a codification of browser practice. If it isn’t, that should be reported as an erratum to the spec.