让我设置一个非常具体的用例...
假设您正在使用Python创建面部识别API。当您以未指定的路线将图像上传到API时,您会获得与该图像匹配的身份列表...返回对象是一个数组:['tom', 'brad', 'john']
。
您没有上载要在服务器上创建或保留的任何数据。
您没有更新或创建任何东西。
这应该是什么样的请求?我假设是GET请求,因为您要在上传的图片中获取人物的身份,而不考虑您要发送图片进行处理的事实。
答案 0 :(得分:0)
我假设是GET请求,因为您是在上传的图像中获取人物的身份,而不管您是否正在发送图像进行处理
不幸的是,没有。这里的问题是,在HTTP中,GET确实描述了请求中消息正文的语义。
GET请求消息中的有效负载没有定义的语义;在GET请求上发送有效内容正文可能会导致某些现有实现拒绝该请求。
您有个正确的主意-请求应该为safe,因此您可以查看HTTP Method Registry以查看是否存在匹配项。这可能会导致您搜索或报告。这些方法是WebDAV定义的扩展,可能会或可能不适合您的问题。
如果可以在查询字符串中包含图像的表示形式,则可以将其与GET配对。我怀疑您会因抱怨标识符太长而遇到组件问题。
TL; DR?使用POST方法将图像有效载荷传递到服务器。