Skip to content

Document technical design precedence #40

@mahmoud

Description

@mahmoud
Member

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.

Activity

mahmoud

mahmoud commented on Sep 24, 2017

@mahmoud
MemberAuthor

Also: consider adding this precedence and links to the doc to the repo's issue template.

glyph

glyph commented on Nov 12, 2017

@glyph
Collaborator

(Hey @Lukasa the mention on the other issue was a hint that you should say a thing about why you prefer WHATWG)

Lukasa

Lukasa commented on Nov 12, 2017

@Lukasa
Member

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.

glyph

glyph commented on Nov 12, 2017

@glyph
Collaborator

@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.

Lukasa

Lukasa commented on Nov 12, 2017

@Lukasa
Member

WHATWG is supposed to be a codification of browser practice. If it isn’t, that should be reported as an erratum to the spec.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @mahmoud@glyph@Lukasa

        Issue actions

          Document technical design precedence · Issue #40 · python-hyper/hyperlink