Welcome
admin
admin

2025-10-04 16:35:55

世界杯误判
1454 657

为了有助于正确传输和解释 HTTP 请求,对于 URL 中使用某些字符进行了限制。 传输请求后,这些字符必须转换为安全格式。

本主题是关于保留和排除的字符的摘要。 有关更多信息,因特网协会和 IETF(因特网工程任务组织)请求评论文档 RFC 2396 统一资源标识 (URI):一般语法列出了 URI 和 URL 中保留或排除的字符。 RFC 2396 可从 https://www.ietf.org/rfc/rfc2396.txt获取。

在 URI 或 URL 中,一个或多个 URI 或 URL 组成部分上下文中有特殊用途的字符称为保留字符。 例如,字符 /、?、& 和 : 用作各种组件的定界符。 如果由于任何其他原因而使用保留字符,那么机器解释器可能会误释 URI 或 URL。

而且,不允许或排除在 URI 或 URL 中的任何地方使用特定字符,这是因为它们是混淆机器或人类用户的潜在原因,或是因为已知它们会导致某些机器解释器的问题。 例如,URL 中不允许空格字符。

如果除了其特殊用途外,还出于任何其他原因在 URL 中需要保留字符,或者如果 URL 中需要排除的字符,那么当包含 URL 组成部分的请求发送到服务器时,必须对这些字符进行转义。 还必须转义在查询字符串中发送的数据中的此类字符。

通过用格式为 %xx(其中 xx 是保留字符的 ASCII 十六进制表示法)的 3 个字符的字符串来替换字符,可以对它们进行转义。 由于这种格式,转义也称为百分比编码。

请求到达服务器时,服务器可以取消转义已转义字符。 为了避免语法分析应用程序误释保留或排除字符的风险,仅在已语法分析 URL 和查询字符串中的信息后才进行取消转义。

请求中的表单数据通常与转义的特殊字符一起发送,因为表单的缺省编码(application/x-www-form-urlencoded)会转义保留或排除的字符。 请参阅 HTML 表单 (HTML forms)。