哪种HTTP方法用于文件下载?

Eri*_*rik 4 php http attachment download http-method

在我的网站中,用户可以下载他们的文件 但是文件是使用PHP生成的.那么我应该使用什么HTTP方法来发送作为文件附件的下载请求?GET还是POST?

dec*_*eze 7

GET用于被动检索文件,POST用于更改服务器上的信息.这是从客户端看到的,服务器在此过程中执行或不执行的操作无关紧要.

因此,除非您在请求中更改某些服务器状态:GET.

  • 从字面上看,服务器所处的状态(与应用程序行为相关的任何内容,不包括缓存或日志等附带内容)。如果您更改数据库中的数据,那就是“状态更改”。 (2认同)
  • 在某些情况下,“POST”更可取——即使服务器状态没有改变。`GET` 没有请求正文 - `POST` 可以。因此,如果在请求中发送大量数据 - 并且 URL 参数不适合,即 [2K 限制](/sf/answers/29202911/) - 那么一个 `POST` (及其正文)可能是唯一的选择。 (2认同)

Ton*_*per 5

得到

来自http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

GET 请求指定资源的表示。使用 GET 的请求应该只检索数据并且不应该有其他效果。(对于其他一些 HTTP 方法也是如此。)[1] W3C 已发布了关于这种区别的指导原则,指出“Web 应用程序设计应遵循上述原则,但也应遵循相关限制。”[11]请参阅下面的安全方法。

POST 请求服务器接受请求中包含的实体作为 URI 标识的 Web 资源的新从属实体。作为示例,发布的数据可能是现有资源的注释;公告板、新闻组、邮件列表或评论线程的消息;将 Web 表单提交给数据处理过程的结果的数据块;或添加到数据库的项目。[12]