URL的目录部分的有效字符(用于短链接)

Flo*_*ida 50 http

除了A-Za-z0-9之外还有其他任何字符可以用来缩短链接而不会遇到麻烦...... :)我在考虑+,; - 或者什么.

是否有一个定义的标准,可以在浏览器供应商尊重的URL中使用哪些字符?

Gum*_*mbo 87

路径段(以通过分离的路径的部件/中的绝对URI路径)可以包含零个或更多的PChar类型被定义为如下:

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

因此,它基本上是A- , - Z,a- ,z,0,9,-,.,_,~,!,$,&,',(,),*,,+ , ,以及必须遵循两个十六进制数字.需要使用百分比编码对任何其他字符/字节进行编码.,;=:@%

虽然这些字符总共可以在79个字符中逐字地用于路径段,但是一些用户代理也会对这些字符中的一些进行编码(例如,%7E而不是~).这就是为什么许多只使用62个字母数字字符(即A- Z,a- z,0- 9)或Base 64编码与URL和文件名安全字母(即A- ,Z- a,z- 0,9,).-_


Joe*_*oey 27

根据RFC 3986,路径组件的有效字符是:

a-z A-Z 0-9 . - _ ~ ! $ & ' ( ) * + , ; = : @
Run Code Online (Sandbox Code Playgroud)

以及百分比编码的字符,当然还有斜杠/.

但请记住,例如,许多尝试解析URI以使其可点击的应用程序(不一定是浏览器)可能支持更小的字符集.这类似于解析电子邮件地址,其中大多数尝试也没有捕获标准允许的所有地址.