使用@符号作为用户的一部分是否安全?例如,可能的URL将是http://example.com/@dave.
这个想法是,现在,用户通常被称为"@user",那么为什么不将用户页面设为"@username"?
或许你称之为"尖锐" - #符号.
我遇到过一个实例,#!和#在一个URL中同时使用.从阅读其他文章,包括RFC,我无法理解这是否是合法的组合.当遇到这样的页面时,Mozilla浏览器(在这种情况下为Iceweasel)将URL显示为2#,而Chrome只显示一个,但不久之后就会消失(包含该页面的选项卡变得无响应并崩溃 - 但可能无法连接) .
现在,我的问题是,在一个URL中同时使用它们是合法的还是冗余的(应该规范化),还是仅仅是Mozilla浏览器中的错误?所以,假设我正在制作一个AJAX请求,或试图浏览浏览器历史记录 - 如果我遇到这种情况,该怎么办?

RFC-3986:http://tools.ietf.org/html/rfc3986#section-3.4,应该澄清它......以防万一.
另外:https://developers.google.com/webmasters/ajax-crawling/docs/specification Google抓取工具如何查看内容.
我想知道使用片段标识符格式引用实体是否更好/适当 - 基本上是通过在名称前插入哈希
[url] + # + [name] => http://example.com/page/#webPage
编辑:
根据来自慷慨和伟大的@Unor的回复,我添加了这个编辑以试图限制我的查询范围并澄清我遇到的主要问题.我还删除了大部分原始问题(大约95%)(事后看来)我觉得有缺点:1.我的核心问题; 2.对未来读者的好处.
这是我的问题:
在微数据的itemid和json-ld的@id值开始时手动键入哈希的做法是否有效?
以下是我更详细的问题:
我可以在微数据的itemid值和json-ld的@id值中插入HASH符号(#),以便通过正确有效地使用片段标识符来创建有效的结果URI吗?
所以,如果这是在网页上:
<div itemscope itemtype="http://www.schema.org/Person" itemid="#joe"></div>
Run Code Online (Sandbox Code Playgroud)
或者,如果这也在网页上:
{"@context":"http://schema.org",
"@type":"Person",
"@id":"#Joe"}
Run Code Online (Sandbox Code Playgroud)
我知道他们会被读到这样的uri(假设消费者的相对构造是谷歌的结构化数据测试工具):
http://www.example.com/page#joe
Run Code Online (Sandbox Code Playgroud)
那是uri:
有效的uri; 和
是否正确使用片段标识符(HASH)?
我对URL的一般形式的理解是它看起来如下:
<scheme>://<host><path>?<query>#<fragment>
Run Code Online (Sandbox Code Playgroud)
查询或片段中是否可以有正斜杠?更一般地说,是否有任何专门为URL的任何部分保留的字符?
上下文:我正在创建一个将其数据存储在 location.hash 中的应用程序。我想编码尽可能少的字符以保持最大的易读性。
正如此答案中所解释的,URL 的每个段的保留字符都不同。那么 URL Fragment/location.hash 具体有哪些限制呢?
相关文章: URL 中的 Unicode 字符