在我的网站上,用户可以下载他们的文件。但是这些文件是通过PHP生成的。那么,我应该使用哪种HTTP方法作为请求下载文件附件的方式?GET还是POST?
GET用于被动地检索文件,POST用于在服务器上更改信息。这是从客户端看到的,不管服务器在此过程中做什么或不做什么都没有关系。
所以,除非您在请求中更改了某些服务器状态:使用GET。
GET
源自http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
GET请求获取指定资源的表示形式,并且仅应用于数据检索,没有其他影响。(这也适用于其他一些HTTP方法。)[1] W3C已经发表了关于此区别的指导原则,指出:“Web应用程序设计应该根据上述原则和相关限制进行。”[11] 请参见下面的安全方法。
POST 请求服务器接受请求中包含的实体作为URI标识的Web资源的新下属。 POST的数据可以是现有资源的注释;公告板、新闻组、邮件列表或评论线程的消息;提交Web表单到数据处理过程的数据块; 或要添加到数据库的项目。[12]
POST
更为理想。GET
没有请求体,而POST
可以有。因此,如果在请求中发送大量数据,并且URL参数不适合(例如2K限制),那么POST
(带有其请求体)可能是唯一的选择。 - colm.anseo