【问题标题】:Why parameters are encoded when sent through HTTP request?为什么通过 HTTP 请求发送参数时要编码?
【发布时间】:2011-02-17 12:34:29
【问题描述】:

我很想知道 HTTP 请求在 POST 请求中通过网络发送之前对所有参数进行编码(URLEncoded)的原因。

【问题讨论】:

  • 真的吗?不取决于您如何指定
    标签的内容?
  • 是的,请咨询 fiddler 或 HTTPFox。在文本框中输入一些文本,然后使用
    提交到服务器。当在服务器端接收到它们时,它们会再次自动解码,因此在服务器上我们读取说 Request.params['key'] 显示解码值。
  • 是的,但是您设置了内容类型吗?如果不是,则默认为“application/x-www-form-urlencoded”。
  • O 那么如果我们将其设置为其他值,我们是否必须在服务器端显式处理解码?
  • 如果不是 asp.net 会处理它,是的。

标签: asp.net http web-applications https


【解决方案1】:

这样它们就可以在不同的系统之间转换,例如。 windows 客户端与 Unix 服务器通信...

【讨论】:

  • 为什么要投反对票?如果您不对它们进行编码,它们可能无法在具有不同字符编码的系统中读取。
  • 这就是我们在 HTTP 中的内容编码。 URIEncoding 不能防止编码不兼容。
  • 但是 Content-Encodig 只是为了内容,你可以在 uri 中使用 Unicode 应该正确编码,对吧?
  • 流就是内容。我们谈论的是postdata,即内容。不是查询。
猜你喜欢
  • 2013-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多