By specification, if the status code is 3xx and there is a location header, you can redirect automatically. The current curl port is redirecting according to this specification. On the other hand, WebKit limits redirect status codes to known code. Inconsistent redirect code within WebKit can lead to unexpected behavior.
Pull request: https://github.com/WebKit/WebKit/pull/7538