Frage Liste gültiger Zeichen für die Fragmentkennung in einer URL?


Ich verwende die Fragment-ID, um einen Permalink für AJAX-Ereignisse in meiner Web-App zu erstellen ähnlich wie dieser Typ. Etwas wie:

http://www.myapp.com/calendar#filter:year/2010/month/5

Ich habe ziemlich viel gesucht, kann aber keine Liste mit gültigen Zeichen für das Fragment identifer finden. Das W3C Spezifikation bietet nichts an.

Muss ich die Zeichen genauso verschlüsseln wie die URL im Allgemeinen?

Überall scheint es keine guten Informationen zu geben.


75
2018-05-17 14:16


Ursprung


Antworten:


Siehe die RFC 3986.

fragment    = *( pchar / "/" / "?" )
pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"    
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded   = "%" HEXDIG HEXDIG
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                 / "*" / "+" / "," / ";" / "="

So können Sie verwenden !, $, &, ', (, ), *, +, ,, ;, =, etwas passendes %[0-9a-fA-F]{2}, etwas passendes [a-zA-Z0-9], -, ., _, ~, :, @, /, und ?


86
2018-05-17 14:22



http://tools.ietf.org/html/rfc3986#section-3.5:

fragment    = *( pchar / "/" / "?" )

und

pchar         = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
              / "*" / "+" / "," / ";" / "="
pct-encoded   = "%" HEXDIG HEXDIG

Also, kombiniert, das Fragment kann nicht enthalten #ein rohes %, ^, [, ], {, }, \, ", < und > nach dem RFC.


28
2018-05-17 14:26



Ein anderer RFC spricht davon: RFC-1738

URL schemeparts for ip based protocols:
HTTP

httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
search         = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

0
2018-04-02 12:53