纯粹为了使用HTTP请求正文而发布

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了纯粹为了使用HTTP请求正文而发布相关的知识,希望对你有一定的参考价值。

这个问题的前提是假设请求体可以作为GET请求的一部分提供 - 但不推荐/适合安静的设计,如果在回答问题之前不是这样,请随时纠正我。

我有一个端点(ASP .Net MVC,如果它很重要),它用FileResult响应,它基本上是一个'Download Zip File'动作。要构建zip文件,它需要任意数量的id(文件ID),并完成它需要做的事情。

如果查询字符串的一部分,这个guid列表可以非常快速地增长,并且可能超过最大长度(抛开现在这是多么逼真)。

这绝对感觉像是对我的GET请求,但我考虑POST只是为了我可以利用请求体的使用来躲避URL长度限制的任何限制。

绕过这种限制的宁静方式是什么?

答案

在这种情况下,你绝对可以使用POST。你的两个假设都是正确的。 GET中的请求主体并非普遍接受(我已经看到代理/安全工具丢弃此类数据包),并且arbitrarily long query string也是不可能的。

你听说过Richardson Maturity Model吗?您可以很好地证明您的API是1级API。

以上是关于纯粹为了使用HTTP请求正文而发布的主要内容,如果未能解决你的问题,请参考以下文章

使用 http 端点访问 lambda 中的 HTTP 请求(标头、查询字符串、cookie、正文)对象

OKHTTP GET 和 POST 请求返回空正文消息

如何从 Python 请求调用中提取 HTTP 响应正文?

如何将 HTTP 标头/正文与 PHP 套接字请求隔离开来

获取 http 响应代码和所有可用的正文

对服务器的 Http.post 请求不会随它一起发送正文。在服务器端,请求的主体是空的。我在下面添加了代码