Don P
Don P

Reputation: 63657

Why are POST params put in the request body, instead of in the URL like GET?

Why are POST params put in the request body, instead of in the URL like GET?

I understand that GET requests are meant to read data, while POST requests are meant to alter data (i.e. if a POST request is sent more than once, dicey things can happen). But why the difference in URL vs body? Putting the text in the body doesn't seem significantly more secure or private.

Upvotes: 0

Views: 349

Answers (2)

Pred
Pred

Reputation: 9042

The HTTP request has two parts: The header and the body

The header contains all information which describes the request and the requested object (path, request parameters, options, etc) and the requested operation (GET, POST, PUT, DELETE, etc).

The body contains all data which are sent by the client to process. This data could be some kind of binary data (an image for example), or some kind of form data (POST data).

This is the HTTP request specification: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html

Here are the definitions of the HTTP request methods: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

Upvotes: 0

CodeCaster
CodeCaster

Reputation: 151594

It's not about security or privacy, but about data.

You can send anything you want in the body, while the URI (specifically the query string) is quite restrictive in content and length.

Upvotes: 2

Related Questions