Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java url编码http请求的主体_Java_Http_Servlets_Urlencode - Fatal编程技术网

Java url编码http请求的主体

Java url编码http请求的主体,java,http,servlets,urlencode,Java,Http,Servlets,Urlencode,有人能给我解释一下Url编码的实际需要吗 使用时在http请求的正文部分发送的数据 content-type: application/x-www-form-urlencoded 谢谢你所说的“需要”是指“目的”吗 如果您想要的是紫色-它只是告诉服务器需要什么:URL编码的键=值对。它还允许服务器知道什么是不可能的——比如多部分/表单数据! 这允许服务器明确地知道如何读取传入数据 数据作为一个标头发送(这也是它有大小限制的原因)。因此,您肯定希望避免使用诸如换行符、冒号之类的内容。

有人能给我解释一下Url编码的实际需要吗 使用时在http请求的正文部分发送的数据

      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编码,它编码了大量字符,而我们真正需要编码的字符只有“=”和“&”。