Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不在URL中编码括号有什么危险?_Url_Rfc3986 - Fatal编程技术网

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

不在URL中编码括号有什么危险?,url,rfc3986,Url,Rfc3986,我读过这个问题:和相关的 这个问题的答案是,[和]被RFC归类为gen delims,因此应该进行编码,但没有解释不这样做会有什么问题 因此,我无法理解URL会出现什么问题,例如: http://example.com/?foo[bar]=baz 很明显,为什么&应该被编码,例如,因为它被用作查询参数之间的分隔符 但是,如果没有URL编码,[和]在URL中有什么用途会使他们的意图混淆?来源: 由Internet协议文本地址(版本6[RFC3513]或更高版本)标识的主机通过将IP文本括在方括号

我读过这个问题:和相关的

这个问题的答案是,[和]被RFC归类为gen delims,因此应该进行编码,但没有解释不这样做会有什么问题

因此,我无法理解URL会出现什么问题,例如:

http://example.com/?foo[bar]=baz
很明显,为什么&应该被编码,例如,因为它被用作查询参数之间的分隔符

但是,如果没有URL编码,[和]在URL中有什么用途会使他们的意图混淆?

来源:

由Internet协议文本地址(版本6[RFC3513]或更高版本)标识的主机通过将IP文本括在方括号内来区分[and]

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

http://127.0.0.1/
IPv6等价物是::1,因此url应该是

http://[::1]/

我看过这句台词,但不一定能听懂。你能举个例子吗?那就回答了我的问题,谢谢。不幸的是,RFC强制将方括号编码到URL参数中,尽管它们似乎只能在主机部分使用。