GET 和 POST 应该是两个不同的动词,它们的目的是不同的。然而,它们带有导致很多困惑的实现包袱。即使只是因为参数出现在 url 中,通常也有避免 GET 的倾向。
GET 参数应该 是 url 字符串的一部分,而 POST 参数应该 是请求正文的一部分,有什么好的理由吗?
我的问题是:
- 是否应该允许对任何内容使用 body 或 url 字符串? 方法?为什么 GET 参数必须在 url 中。
- 有没有一种方法可以在正文中使用参数实现 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/