url - 为什么此 URL 会在我的服务器上导致错误请求?

标签 url character-encoding urlencode bad-request

我有一个以 % 结尾的 URL。例如:/view/this-is-100%25。 URL末尾不允许有%吗?如果不允许,我该如何以其他方式做到这一点?如果允许,为什么会导致错误的请求?

谢谢。

更新:确切错误:

Bad Request
Your browser sent a request that this server could not understand.

最佳答案

“%”在 URL 中用作 ASCII (?) UTF-8(?) 代码的前缀。例如,“空格”(ASCII 32 或十六进制 0x20)可以替换为“%20”。 “%”前缀后跟两个十六进制数字。 Web 服务器应获取“%20”并将其转换为空格。

当 URL 末尾有“%”时,“%”后面没有两个十六进制数字,因此无法进行替换,并且 URL 实际上是格式错误的。这实际上是一个错误的 URL。

这就是服务器不喜欢它的原因。

关于url - 为什么此 URL 会在我的服务器上导致错误请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15639130/

相关文章:

javascript - Node.js 中的 URL 组件编码

python - 授权服务的更好方式

codeigniter - 默认情况下,codeigniter url 是否 100% 支持非英文字符?

javascript - 修复 Node Js 中的 Facebook JSON 编码

windows - Windows 的每个语言版本的默认代码页

php - 如何更改 Yii2 中的目录等 url 参数?

用于匹配和选择特定 URL 的正则表达式

java - 平台默认字符编码如何影响跨平台性能

ios - 调用另一个 ViewController 会出错 - 在后台线程上调用 UI API

php - 表单提交取消了我的 URL 查询字符串中的参数