Java url编码http请求的主体
有人能给我解释一下Url编码的实际需要吗 使用时在http请求的正文部分发送的数据Java url编码http请求的主体,java,http,servlets,urlencode,Java,Http,Servlets,Urlencode,有人能给我解释一下Url编码的实际需要吗 使用时在http请求的正文部分发送的数据 content-type: application/x-www-form-urlencoded 谢谢你所说的“需要”是指“目的”吗 如果您想要的是紫色-它只是告诉服务器需要什么:URL编码的键=值对。它还允许服务器知道什么是不可能的——比如多部分/表单数据! 这允许服务器明确地知道如何读取传入数据 数据作为一个标头发送(这也是它有大小限制的原因)。因此,您肯定希望避免使用诸如换行符、冒号之类的内容。
content-type: application/x-www-form-urlencoded
谢谢你所说的“需要”是指“目的”吗
如果您想要的是紫色-它只是告诉服务器需要什么:URL编码的键=值对。它还允许服务器知道什么是不可能的——比如多部分/表单数据!
这允许服务器明确地知道如何读取传入数据
数据作为一个标头发送(这也是它有大小限制的原因)。因此,您肯定希望避免使用诸如换行符、冒号之类的内容。除此之外,您肯定希望在数据中转义=In,这样它就不会弄乱key=value结构。你也想逃跑&出于同样的原因。URL编码完成了所有这一切——因此,无论是谁设计了HTTP协议,都会使用它,这才有意义 在POST请求中有多种方式向服务器发送数据;URL编码的数据只是几种可能的格式之一 客户机和服务器必须就POST正文中的数据格式达成一致。URL表单编码数据是最容易使用的,因为它具有通用支持。浏览器本机支持它。每种编程语言都允许您使用熟悉的语法读取url编码的post参数
但当然,不需要使用url表单编码。您可以轻松地发送json或xml编码的帖子正文。只要客户端和服务器同步,您甚至可以创建一个完全不同的编码并使用它。我可以理解为什么附加到它的查询字符串的url必须是url编码的,但是发布数据意味着数据作为消息的主体部分发送,那么为什么url编码呢?。数据作为一个标题发送(这也是它有大小限制的原因)。因此,您肯定希望避免使用诸如换行符、冒号之类的内容。除此之外,您肯定希望在数据中转义=,这样它就不会与key=value结构相混淆。出于同样的原因,您还希望转义。URL编码可以做到所有这一切-因此,无论是谁设计了HTTP协议,都有意义!@user1800246-您应该编辑您的答案以包含上面的评论。我理解这一点,但我想知道为什么使用url编码,它编码了大量字符,而我们真正需要编码的字符只有“=”和“&”。