Pertanyaan Daftar karakter yang valid untuk pengenal fragmen di URL?


Saya menggunakan pengidentifikasi fragmen untuk membuat permalink untuk acara AJAX di aplikasi web saya mirip dengan pria ini. Sesuatu seperti:

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

Saya sudah melakukan sedikit pencarian tetapi tidak dapat menemukan daftar karakter yang valid untuk idenitifer fragmen. Itu Spesifikasi W3C tidak menawarkan apa pun.

Apakah saya perlu menyandikan karakter yang sama dengan URL pada umumnya?

Sepertinya tidak ada informasi bagus tentang ini di mana saja.


75
2018-05-17 14:16


asal


Jawaban:


Lihat RFC 3986.

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

Jadi Anda bisa menggunakannya !, $, &, ', (, ), *, +, ,, ;, =, sesuatu yang cocok %[0-9a-fA-F]{2}, sesuatu yang cocok [a-zA-Z0-9], -, ., _, ~, :, @, /, dan ?


86
2018-05-17 14:22



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

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

dan

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

Jadi, digabungkan, fragmennya tidak bisa berisi #, mentah %, ^, [, ], {, }, \, ", < dan > menurut RFC.


28
2018-05-17 14:26



Satu RFC lain berbicara tentang itu: 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