用于大字符串负载的 HTTP GET

HTTP GET for a large string payload

我有一个要求,我需要向 Flask 服务器发出 HTTP 请求,其中负载是一个问题(字符串)和一个段落(字符串)。服务器使用机器学习在段落中找到问题的答案并 return 它。

现在,段落可能会很大,有几千个字。那么带有 JSON 负载的 GET 请求是否合适?或者我应该使用 POST?

will a GET request with a JSON payload be appropriate?

否 - 这里的问题是 GET 请求的有效负载有 no defined semantics;您无法保证中间组件会根据您的请求做正确的事情。

例如:缓存将假定请求的负载无关紧要,因此您的 GET 请求可能会得到针对完全不同文档的响应。

should I be using POST?

今天,您应该使用 POST。

一旦 HTTP-WG 确定了新方法的语义并采用了新方法,您最终可能会使用 safe-method-with-body