The main conceptual difference GET
and POST
is that, GET
is used for getting the data from the server, and POST
is used for updating the data to the server.
In general POST
has the following properties:
- The data is
x-www-form-urlencoded
. Which means, the request parameters are sent as request body. And the server has to parse the request body for parameters.
- By default, when no content-length header is present, the default value for
GET
is 0 whereas for POST it is till end of stream.
GET
is Idempotent
whereas POST
is Non-Idempotent
. i.e, Proxies on failures for GET
they retry. But, for POST
they do not retry.