我们正在设计一个 URL 系统,它将应用程序部分指定为由斜线分隔的单词。具体来说,这是在 GWT 中,因此 URL 的相关部分将在哈希中(将由客户端的控制器层解释):
http://site/gwturl#section1/section2
有些部分可能需要额外的属性,我们想用 a 来指定:
,以便 URL 的部分部分是明确的。代码将首先在 上拆分/
,然后在 上拆分:
,如下所示:
http://site/gwturl#user:45/comments
当然,我们这样做是为了 url 友好,所以我们想确保这些具有特殊含义的字符都不会被浏览器或任何其他系统进行 url 编码,并最终得到类似的 url这:
http://site/gwturl#user%3A45/comments <--- BAD
以这种方式使用冒号对于浏览器、书签系统甚至 Javascript 或 Java 代码是否安全(我的意思是不会自动编码)?