在 GET 请求的正文中发送有效负载而不是 POST 以解决 HTTP 414 URI 太长的问题

Sending payload in GET request's body instead of POST to resolve HTTP 414 URI Too Long

提问人:Muizz Mahdy 提问时间:5/30/2019 最后编辑:Muizz Mahdy 更新时间:5/31/2019 访问量:736

问:

414 错误是由 GET 请求上的长 URI 参数引起的。在这种情况下,这里和这里都建议使用 POST 请求,但是,即使不建议这样做,在 GET 请求的正文中发送数据不是更现实吗?

json ajax http get 服务器端

评论


答:

1赞 shaochuancs 5/31/2019 #1

在请求正文中发送数据不是一个好做法。根据 RFC7231GET

GET 请求消息中的有效负载没有定义的语义; 在 GET 请求上发送有效负载正文可能会导致一些现有的 实现来拒绝请求。

因此,它不是“更现实”,而是实际上不太现实,因为某些浏览器或服务器可能会拒绝此类 HTTP 请求。