GET 与 POST 请求参数放置方式探究
在 Web 开发中,通常情况下,GET 请求的参数放置在 URL 中,而 POST 请求的参数放置在 HTTP 请求体(Body)中。然而,你提出了一个不同的方案,即 GET 请求的参数放置在 Body 中,而 POST 请求的参数放置在 URL 中。这种做法是否合理呢?
HTTP 规范建议
HTTP 规范未明确禁止 GET 请求携带 Body,但在现代规范中,强烈建议对这种行为发出警告甚至拒绝。ElasticSearch 曾采用 GET 请求携带 Body 的接口格式,但已在最新版本中彻底废弃。
技术上的可行性
从技术上来说,你的做法是可行的。不过,它可能存在以下问题:
合理性分析
你提出的想法基于 GET 请求参数可能有嵌套或较大长度的考虑。然而,即使遇到这种情况,也建议将参数放置在 Body 中,原因如下:
因此,总体而言,不建议将 GET 请求的参数放置在 Body 中,而将 POST 请求的参数放置在 URL 中。尽管这种做法在某些情况下可能方便,但它违背了 HTTP 规范,可能带来兼容性和可维护性问题。