I don't know about other webservers, but Apache changes the status according to the other headers. If there's a Location: header, the status will be 302.
Status headers aren't sent as-is to the browser, they're in the first response line:
HTTP/1.1 302 Moved.
2;0 juerd@ouranos:~$ perl -e'undef christmas'
Segmentation fault
2;139 juerd@ouranos:~$