http - 我可以在 URL 中使用 at 符号 (@) 吗?

标签 http url character

作为用户的一部分使用@ 符号是否安全?例如,可能的 URL 是 http://example.com/@dave

想法是,如今,用户通常被称为“@user”,那么为什么不将用户页面设为“@username”呢?

最佳答案

百分比编码...

如果您 percent-encode,您可以在 HTTP URI 路径中使用 @ 字符它作为 %40

许多浏览器仍会将其显示为 @,但例如当您将 URI 复制并粘贴到文本文档中时,它将是 %40

……也直接

您可以直接在 HTTP URI 路径中使用 @ 而不是对其进行百分比编码。

请参阅 path 的语法一个 URI。除了各种不相关的子句,路径可能由 segmentsegment-nzsegment-nz-nc 集中的字符组成。 segmentsegment-nzpchar 集合中的字符组成,定义为:

pchar = unreserved / pct-encoded / sub-delims / ":" / "@"

如您所见,@ 已明确列出。

segment-nz-nc 集还明确列出了 @ 字符:

segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )

所以,像这样的 HTTP URI 是完全有效的:

http://example.com/@dave

例子

这是一个维基百科页面示例:

  • link
  • 复制粘贴:http://en.wikipedia.org/wiki/%22@%22_%28album%29

如您所见,"() 字符是百分比编码的,但是 @_ 直接使用。

关于http - 我可以在 URL 中使用 at 符号 (@) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19509028/

相关文章:

python - 将本地文件与 HTTP 服务器位置同步(在 Python 中)

angularjs - $location.path 将哈希更改为 %23 & .hash 无法正常工作

ruby-on-rails - 为 rails 中的 javascript 生成完整的 url(类似于 javascript_path,但是是 url)

c - 我想用C编写程序打印完整数字的每个数字

c - 防止c中输出字符重复

replace - 如何用 Notepad++ 在所有行的每一行末尾添加一个字符

java - Camel HTTP 端点 : How to set URL-String to POST Parameter

javascript - 在 Node.js 中使用 Needle api 发布 HTTP-BODY 数据

http - Callable Cloud Functions 是否优于 HTTP 函数?

javascript - 发布到相对 url