Or The Campaign for Real Hyperlinks.
This campaign aims to let web users know that the pages on a web site will not mysteriously disappear, but instead will remain accessible forever.
These are the necessary criteria to join the campaign:
410 GONE
HTTP response should be sent for requests to that page.The first can still be accomplished using HTTP redirects (code 301 and 307) if required (for instance, if the page must be moved). The 410 GONE response should include in the page body an explanation of what has happened, and preferable why the page was removed. Here is an example of this.
To show your participation in the campaign, you can add a small image to your page. I have drawn this image to show my site is part of this campaign, but feel free to draw your own. I will add any images people send.
This is what the HTTP/1.1 specification says:
410 Gone
The requested resource is no longer available at the server and no forwarding address is known. This condition is expected to be considered permanent. Clients with link editing capabilities SHOULD delete references to the Request-URI after user approval. If the server does not know, or has no facility to determine, whether or not the condition is permanent, the status code 404 (Not Found) SHOULD be used instead. This response is cacheable unless indicated otherwise.
The 410 response is primarily intended to assist the task of web maintenance by notifying the recipient that the resource is intentionally unavailable and that the server owners desire that remote links to that resource be removed. Such an event is common for limited-time, promotional services and for resources belonging to individuals no longer working at the server's site. It is not necessary to mark all permanently unavailable resources as “gone” or to keep the mark for any length of time – that is left to the discretion of the server owner.
So, if a page must be removed this response should be returned. This can be accomplished in Apache using this code:
Redirect gone /tmp/temporary-file.html
It should be in the server configuration file, or an .htaccess file. This will return the 410 response for the file /tmp/temporary-file.html. You can also use a wildcard:
RedirectMatch gone /tmp/*.html
That will match all files ending in .html in the /tmp/ directory. There is more information in an article by Mark Pilgrim.
Thanks to Phil Hunt for the original idea and Mark Tranchant for suggesting the 410 HTTP response.
Phil Hunt posted the idea to several Usenet newsgroups, you can read the original post (using Google Groups if you prefer).
The W3C’s article Cool URIs Don’t Change.
Phil Hunt’s article Link Stable, or A Campaign For Real Hyperlinks.
The HTTP/1.1 specification, RFC 2616.