I've just finished a website with three different languages (English, German and Dutch) and use the Accept-Language header to detect the preferred language of a visitor to redirect to the correct page/language.
Currently I've got this all set up and it works as intended, but I wonder which HTTP status code I should return for the redirect. 300 Multiple Choices, 301 Moved Permanently, 302 Found, 303 See Other or 307 Temporary Redirect?
In one way or another they all make sense for this kind of redirect.
What do you guys use, and why?