【发布时间】:2012-11-17 22:55:22
【问题描述】:
有人可以向我解释一下 Url-encode 的实际需要是什么 使用时http请求正文部分发送的数据
content-type: application/x-www-form-urlencoded
谢谢
【问题讨论】:
标签: java http servlets urlencode
有人可以向我解释一下 Url-encode 的实际需要是什么 使用时http请求正文部分发送的数据
content-type: application/x-www-form-urlencoded
谢谢
【问题讨论】:
标签: java http servlets urlencode
“需要”是指“目的”吗?
如果您追求紫色 - 它只是告诉服务器预期的结果:URL 编码的键 = 值对。它还允许服务器知道什么是不的——比如multipart/form-data! 这允许服务器明确地知道如何读取传入的数据。
数据作为一个标头发送(这也是它有大小限制的原因)。因此,您肯定要避免使用以下内容:换行符、冒号。除此之外,您肯定希望在数据中转义 =,以免与 key=value 结构混淆。你也想逃避 & 出于同样的原因。 URL 编码可以完成所有这些 - 所以只有设计 HTTP 协议的人才会这样做才有意义!
【讨论】:
有多种方式可以在 POST 请求中向服务器发送数据; URL 编码数据只是几种可能的格式之一。
客户端和服务器必须就 POST 正文中的数据格式达成一致。 URL 表单编码数据因其普遍支持而最容易使用。浏览器本机支持它。每种编程语言都允许您使用熟悉的语法读取 url 编码的 post 参数。
当然,没有必要使用 url 形式编码。您可以轻松发送 json 或 xml 编码的 POST 正文。只要客户端和服务器同步,你甚至可以创建一个完全不同的编码并使用它。
【讨论】: