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
Http 为什么在GET请求的URL中发送查询字符串,而在POST请求的正文中发送查询字符串?_Http_Post_Web_Get_Query String - Fatal编程技术网

Http 为什么在GET请求的URL中发送查询字符串,而在POST请求的正文中发送查询字符串?

Http 为什么在GET请求的URL中发送查询字符串,而在POST请求的正文中发送查询字符串?,http,post,web,get,query-string,Http,Post,Web,Get,Query String,获取: 职位: 我不明白为什么会有区别。GET应该用于可添加书签的页面或可重复搜索;因此URL存储查询数据,以便浏览器可以重复使用 另一方面,POST用于包含敏感信息或对于查询字符串来说可能太长的信息的一次性请求。数据不应该像GET请求那样保存,因此它存储在主体中 您可能还希望看到这样的答案:这是如何为HTML表单定义表单提交的结果。它与HTTP本身无关。name1=value1&name2=value2在您的POST示例中不是查询字符串。 GET /blog/?name1=value1&

获取:

职位:


我不明白为什么会有区别。

GET应该用于可添加书签的页面或可重复搜索;因此URL存储查询数据,以便浏览器可以重复使用

另一方面,POST用于包含敏感信息或对于查询字符串来说可能太长的信息的一次性请求。数据不应该像GET请求那样保存,因此它存储在主体中


您可能还希望看到这样的答案:

这是如何为HTML表单定义表单提交的结果。它与HTTP本身无关。

name1=value1&name2=value2
在您的POST示例中不是查询字符串。
GET /blog/?name1=value1&name2=value2 HTTP/1.1
Host: website.com
POST /blog/ HTTP/1.1
Host: website.com
name1=value1&name2=value2