If the client (users, search engines, etc.) requests a resource that does not exist and never existed , the status 404 ("Not found") should be returned.
However, if the requested resource once existed and has since been deleted, the status 410 ("Gone") has been returned. Status 410 indicates that the resource will never be available in the future and launches search engines to remove this page from its indexes.
State 301 is used if the location of the resource is constantly changing.
source share