不在URL中编码括号的危险是什么?

时间:2014-01-03 18:04:41

标签: url rfc3986

我已阅读此问题:Is it ok to have brackets in URL?和相关的RFC 3986

此问题的答案说,[]被RFC归类为 gen-delims ,因此应进行编码,但不解释如何没有这样做会有问题

所以,我无法理解URL的问题,例如:

http://example.com/?foo[bar]=baz

很明显,为什么&应该被编码,因为它被用作查询参数之间的分隔符。

但是在网址[]的用途是什么,如果它们不是网址编码会导致他们的意图混淆?

1 个答案:

答案 0 :(得分:0)

来自RFC 3986 section 3.2.2

  

通过Internet协议文字地址(版本6 [RFC3513]或更高版本)标识的主机通过将IP文字括在方括号(“[”和“]”)中来区分。

例如,本地计算机的IPv4地址为127.0.0.1,因此您可以使用URL访问它

http://127.0.0.1/

IPv6等价物为::1,因此网址为

http://[::1]/