When Sitefinity CMS is initializing or upgrading, if you request a page or a URL from the application, you are redirected to the application status page (response code 302).
The reason for redirecting to the application status page, instead of directly rendering it on the requested URL, is to tell the outside systems that interact with your application, such as search engine crawlers, that the requested URL is temporarily unavailable, but it will be available shortly. The outside systems do not do anything with the response received from this request. For example, the search engine crawler knows that the requested URL is temporarily redirected to a different one and it does not index this response, but instead, tries again later.
On the other hand, the application status page response code is 200, which means the service returned the expected content. While this is handled properly by the search engine crawlers, if you are calling a public REST service, which is served by your Sitefinity CMS application, from a third party application, you will not see the redirect to the Application status page (302) and you will get the final response status code which is 200. This behavior may cause unexpected results in your third party application, because 200 status code is the response status code of the application status page and the response contains the application status code HTML.
To get around this problem you have the option to change the response code of the Application status page to be different than 200. You can do this by adding a new parameter in the <appSettings> of the web.config with key sf:AppStatusPageResponseCode and value - the response status code you want.
EXAMPLE: <add key="sf:AppStatusPageResponseCode" value="503" />
IMPORTANT: If you change the custom response code of the Application status page and you are using custom error pages, make sure you use <httpErrors errorMode="Custom" existingResponse="PassThrough">. For more information, see Administration: Custom error pages code.
This is because if the system is upgrading or restarting while a custom error page is requested, Sitefinity CMS will not be able to display the Application Status page properly, which is the expected behavior.
<httpErrors errorMode="Custom" existingResponse="PassThrough">
Back To Top