为什么 %00 NULL 是 URL 中的无效字符并导致浏览器崩溃?

问题描述 投票:0回答:2

我知道 NULL 用于终止字符串,但为什么它在 URL 中是无效字符? NULL 字符的维基百科页面 指出可以使用 %00 将 NULL 字符放置在 URL 代码中。那么这是否意味着它是合法的?

如果 NULL 字符出现在 URL 的中间或末尾,它不是只是充当终止字符吗?为什么会无效?

通过以下示例也许可以更好地理解我的问题:

示例 1:https://a4%00 意味着该字符串本质上是“a4”

示例2:https://a45xxc%00fbbg --> 这里,字符串是只读到“c”吗?

url null
2个回答
0
投票

可能是因为 url 后面会使用很多其他数据,所以浏览器处理空字符会很复杂。 但是,您仍然可以在 API 中使用空字符,因为它们不必处理该字符。 例子

curl https://google.com/%00 (some data)


0
投票

你的假设是正确的,%00之后的所有内容都会被忽略

© www.soinside.com 2019 - 2024. All rights reserved.