views:

102

answers:

1

Using Curl for example, I can "post" data in a GET request. Is this a valid thing to do? With that I mean:

  • Is it not forbidden by any RFC specification?
  • Does someone out there use it with good reason?

Thanks for any help.

+2  A: 

See RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1, section 4.3 "Message Body":

A message-body MUST NOT be included in a request if the specification of the request method (section 5.1.1) does not allow sending an entity-body in requests.

In section 9.3 "GET" including an entity-body is not forbidden.

So, yes, you are allowed to send an entity-body with a HTTP GET request.

Note: you are allowed to do this, but whether proxies will mangle your request, and whether the destination server will understand it, is anyone's guess.
Piskvor
@Piskvor: You are right, I only answered the first part of the question. :)
It seems to have become generally accepted never to do that, but now I'll leave the interface open for it at least. Thanks.
ciscoheat