Proper status code for a maintenance page redirect

2019-02-06 06:16发布

问题:

While performing some upcoming maintenance, I'm going to have to redirect all site traffic to a maintenance page briefly. What's the proper status code to use for the redirect?

503 makes sense, but it's not technically a redirection status. 302 is a temp redirect, but wondering if that might have implications if the site is being spidered at the time.

回答1:

I would use 503, too, combined with a Retry-After header. A proper robot should know how to handle this.



回答2:

302 Found would probably be the classic way - not a permanent redirect. You want it to be temporary though, so when the spider came back, it would try it again, but which time, it should be back up. A 301 would indicate to not go to the original.

The 500 series are errors, not what you want to indicate.



回答3:

Use 503, and if you want to redirect, do it via JavaScript on the served page.

Just be careful not to lose the original URL (save it as a query parameter, for example), as users are expecting to return to the page they were looking for when the maintenance is done.