Question: is response.redirect always an http GET response? or it could be POST?....

Answer: 
A redirect is an Http response sent to the client. The response contains an Http Header called Location which must contain an absolute url. 

The client then issues a GET request against this url.

So, no, POST is not an option.

More details here: <http://en.wikipedia.org/wiki/URL_redirection>
Contrary to most answers here the redirected HTTP request is *only* GET if

* the original request was GET, or
* the status code was 303, or
* the status code was 301 or 302 and the original request was POST.