私はフラグメント識別子を使用して、この男に似たWebアプリでAJAXイベントのパーマリンクを作成しています。何かのようなもの:
http://www.myapp.com/calendar#filter:year/2010/month/5
かなりの検索を行いましたが、フラグメントidenitiferの有効な文字のリストが見つかりません。W3C仕様は何を提供していません。
一般的にURLと同じように文字をエンコードする必要がありますか?
これに関する良い情報はどこにもないようです。
回答:
RFC3986を参照してください。
fragment = *( pchar / "/" / "?" )
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
pct-encoded = "%" HEXDIG HEXDIG
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
あなたが使用できるように!
、$
、&
、'
、(
、)
、*
、+
、,
、;
、=
、何かのマッチング%[0-9a-fA-F]{2}
、何かのマッチング[a-zA-Z0-9]
、-
、.
、_
、~
、:
、@
、/
、および?
%
エスケープ文字としてのみ許可されています。%25
単一のをエンコードするために使用し%
ます。
http://tools.ietf.org/html/rfc3986#section-3.5:
fragment = *( pchar / "/" / "?" )
そして
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
sub-delims = "!" / "$" / "&" / "'" / "(" / ")"
/ "*" / "+" / "," / ";" / "="
pct-encoded = "%" HEXDIG HEXDIG
だから、合成、断片はできません含む#
生、%
、^
、[
、]
、{
、}
、\
、"
、<
および>
RFCに記載の方法。
VERTICAL BAR (|)
、GRAVE ACCENT (`)
そしてSPACE ( )
リストに載っていないようです。そうではないリストで印刷可能(7ビット)US-ASCII文字の完全なリストは、次のとおりです。"#%< >[\]^`{|}