url-encode主体的http请求

时间:2012-11-17 22:55:23

标签: java http servlets urlencode

有人可以向我解释一下Url-encode的实际需求是什么 使用

时在http请求的正文部分发送的数据
      content-type: application/x-www-form-urlencoded

感谢

2 个答案:

答案 0 :(得分:1)

“需要”,你的意思是“目的”吗?

如果您正处于紫色之后 - 只需告诉服务器预期的内容:URL编码的密钥=值对。它还允许服务器知道的方式 - 就像multipart / form-data一样! 这允许服务器明确地知道如何读取传入数据。

数据作为一个标头发送(这也是它有大小限制的原因)。因此,你肯定想避免像:换行符,冒号这样的东西。除此之外,你肯定想要在数据中转义=,这样它就不会搞乱key = value结构。你也想逃避&出于同样的原因。 URL编码可以做到这一切 - 所以只有设计了HTTP协议的人才有意义!

答案 1 :(得分:0)

在POST请求中有多种方法将数据发送到服务器; URL编码数据只是几种可能的格式之一。

客户端和服务器必须就POST主体中的数据格式达成一致。 URL表格编码数据因其普遍支持而最易于使用。浏览器原生支持它。每种编程语言都允许您使用熟悉的语法读取url编码的post参数。

但当然,没有必要使用url表单编码。您可以轻松发送json或xml编码的POST正文。只要客户端和服务器同步,您甚至可以创建完全不同的编码并使用它。