Qli*_*256 6 url fragment-identifier
在互联网上进行一些挖掘之后,我无法找到一个很好的答案,我可以使用哪些字符用于URL片段.我正在编写一个利用URL片段的javascript脚本.
我希望通过不让它看起来太复杂来使URL对眼睛友好.所以我想知道我是否可以使用像':,?,&或'这样的字符.在URL片段中仍然有效.
我的URL片段应包含以下值:
uno*_*nor 21
片段标识符组件可以包含:
0
- 9
a
- z
A
- Z
?
/
:
@
-
.
_
~
!
$
&
'
(
)
*
+
,
;
=
%
后跟两个十六进制数字)在本文档中,您将找到您需要知道的所有内容.
fragment = *( pchar / "/" / "?" )
这意味着片段可以不包含任何内容或(任何组合)
/
?
pchar
请参阅附录A.以了解如何定义pchar:
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
所以这增加了
:
@
unreserved
现在检查未保留的定义方式:
unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
这增加了
-
.
_
~
ALPHA
和的定义DIGIT
检查ALPHA和DIGIT的定义方式.它们未列在附录中,因为它们来自核心ABNF规则,如1.3节所述:
ALPHA(字母),[...] DIGIT(十进制数字)[...]
所以这增加了
a
- z
,A
-Z
0
- 9
pct-encoded
检查如何定义pct-encoded:
pct-encoded = "%" HEXDIG HEXDIG
这允许任何百分比编码的字符.
sub-delims
检查子delims的定义方式:
sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "="
这增加了
!
$
&
'
(
)
*
+
,
;
=