Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which HTTP method to use for file downloading?

In my site users can download their files. But files are generated by using PHP. So what's HTTP method should I use for sending request for download as file attachment? GET or POST?

like image 629
Erik Avatar asked May 03 '13 09:05

Erik


2 Answers

GET is for passively retrieving files, POST is for altering information on the server. This is as seen from the client, it doesn't matter what the server does or doesn't do in the process.

So unless you're altering some server state in the request: GET.

like image 184
deceze Avatar answered Sep 18 '22 09:09

deceze


GET

From http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

GET Requests a representation of the specified resource. Requests using GET should only retrieve data and should have no other effect. (This is also true of some other HTTP methods.)[1] The W3C has published guidance principles on this distinction, saying, "Web application design should be informed by the above principles, but also by the relevant limitations."[11] See safe methods below.

POST Requests that the server accept the entity enclosed in the request as a new subordinate of the web resource identified by the URI. The data POSTed might be, as examples, an annotation for existing resources; a message for a bulletin board, newsgroup, mailing list, or comment thread; a block of data that is the result of submitting a web form to a data-handling process; or an item to add to a database.[12]

like image 31
Toni Toni Chopper Avatar answered Sep 22 '22 09:09

Toni Toni Chopper