java - 为什么HTTP GET参数应该是url的一部分

标签 java json http rest get

GET 和 POST 应该是两个不同的动词,它们的目的是不同的。然而,它们带有导致很多困惑的实现包袱。即使只是因为参数出现在 url 中,通常也有避免 GET 的倾向。

GET 参数应该 是 url 字符串的一部分,而 POST 参数应该 是请求正文的一部分,有什么好的理由吗?

我的问题是:

  1. 是否应该允许对任何内容使用 body 或 url 字符串? 方法?为什么 GET 参数必须在 url 中。
  2. 有没有一种方法可以在正文中使用参数实现 GET(即使是来自休息客户端……而不是浏览器)?

(问题更多地与 REST 相关,但通常也与 HTTP 相关)

更新:这里有更详尽的讨论: HTTP GET with request body

最佳答案

GET 和 POST 都可以使用 URI 中的参数。这里没有限制。

只有 POST 可以使用负载中的参数。 GET 理论上可以有一个负载,但在实践中它被忽略并且可能在传输过程中丢失(损坏的 HTTP 堆栈或中介)。

关于java - 为什么HTTP GET参数应该是url的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353157/

相关文章:

java - Angular 6 Spring Boot POST 问题

javascript - Apexcharts 在渲染新系列之前删除旧数据系列

PHP JSON字符串,为JS输出转义双引号

java - 使用 Open XML 更改文档的字体

java - Android 设备中的运行时错误

c# - 如何将 JSON 文件读入指定值的字符串并使用 System.Text.Json?

http - 转换函数的 RESTful api 设计

http - 此 URL 请求的 http 请求和响应正文是什么?

python - python中的URL编码

java - 使用 Java 写入 MySQL 数据库的性能低下