Is there anything “wrong” with usings POST with query strings?
In my experimentations with Movable Type’s TrackBack system, I ran into a problem early on: the current version of mt-tb.cgi uses PATH_INFO instead of query strings.
Old: GET http://domain/mt/mt-tb.cgi?tb_id=NNN
New: POST http://domain/mt/mt-tb.cgi/NNN
I had configured IIS to check that files exist before passing control to Perl, so the new method failed. Ben told me that they made the change in order to support POST.
I scratched my head. I’m not aware of anything in HTTP that prevent POSTs from being used with query strings. Nothing in ASP, PHP, or Perl appears to impose barriers to using them together.
I thought that it might be a REST thing, but the list of Common REST Mistakes only warns against using query strings for actions. Plenty of REST examples use query strings, although I did not spot any that used them in conjunction with POST.
Am I missing something? I’ve been wondering about this because my *back server uses POSTs with query strings. If there’s a good reason not to do it that way, I’d like to know about it before I release.
[Discuss]
