Geo*_*off 84 url http character
使用@
符号作为用户的一部分是否安全?例如,可能的URL将是http://example.com/@dave
.
这个想法是,现在,用户通常被称为"@user",那么为什么不将用户页面设为"@username"?
uno*_*nor 120
@
如果对其进行百分比编码,则可以在HTTP URI路径中使用该字符%40
.
许多浏览器仍会将其显示为@
,但例如,当您将URI复制并粘贴到文本文档中时,它将会是%40
.
您可以@
直接在HTTP URI路径中使用,而不是对其进行百分比编码.
请参阅URI 路径的语法.各种不相关的条款之外,该路径也可以在由字符segment
,segment-nz
或segment-nz-nc
设置.segment
和segment-nz
由从字符pchar
集,其被定义为:
pchar = unreserved / pct-encoded / sub-delims / ":" / "@"
Run Code Online (Sandbox Code Playgroud)
如您所见,@
明确列出了.
该segment-nz-nc
集还@
明确列出了该字符:
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
Run Code Online (Sandbox Code Playgroud)
所以,像这样的HTTP URI是完全有效的:
http://example.com/@dave
Run Code Online (Sandbox Code Playgroud)
以下是Wikipedia页面的示例:
http://en.wikipedia.org/wiki/%22@%22_%28album%29
正如您所看到的"
,(
和)
字符是百分比编码的,但直接使用@
和_
.
Len*_*bro 38
你能在URL中使用@ -symbol吗?- 是的,你可以!
请注意,@ -character,十六进制值40,十进制值64,是URI的保留字符.它的用法是用于mailto:
URI中的电子邮件地址,例如mailto:username@somewhere.foo
用于在URI上传递用户名和密码信息(这是一个坏主意,但可能):http://username:password@somewhere.foo
如果您想要一个路径中包含@ -symbol的URL,则需要对其进行编码,并使用所谓的" URL编码 ".例如这样:http://somewhere.foo/profile/username%40somewhere.foo
所有现代浏览器都会将其显示为http://somewhere.foo/profile/username@somewhere.foo,并将@ -sign中的任何类型转换为%40
,因此它易于使用.
许多Web框架也可以自动或使用辅助函数来帮助您转换为URL编码的URL和从URL编码的URL转换.
因此,总结:是的,您可以在URL中使用@ -symbol,但您必须确保它已编码,因为您不能使用@ -character.
基本上没有。
@
是保留字符,只能用于其预期目的。
请参阅: http: //perishablepress.com/stop-using-unsafe-characters-in-urls/和http://www.ietf.org/rfc/rfc3986.txt
它可以使用编码,但我不认为这就是你所要求的。
显然现代浏览器可以处理这个问题。但是,您询问这是否安全,并且根据RFC的规范,您不应该使用它(未编码),除非它用于其预期目的。
归档时间: |
|
查看次数: |
54675 次 |
最近记录: |