Edit report at https://bugs.php.net/bug.php?id=66856&edit=1
ID: 66856 Updated by: c...@php.net Reported by: eldmannen+php at gmail dot com Summary: Failed manpage lookups return 200 OK -Status: Assigned +Status: Duplicate Type: Bug Package: Website problem PHP Version: Irrelevant -Assigned To: levim +Assigned To: cmb Block user comment: N Private report: N New Comment: Closing in favor of <https://github.com/php/web-php/issues/694>. Previous Comments: ------------------------------------------------------------------------ [2015-01-04 20:45:55] ja...@php.net > When I entered www.example.net/foo, I did *not* peform a search, I requested a > resource. If the resource was not found, it must return 404. I've reconsidered this and realised you are right. That page should definitely be returning a 404. ------------------------------------------------------------------------ [2015-01-03 14:42:32] eldmannen+php at gmail dot com Jacob, > A 404 is intended to be delivered should an application resource cannot be > located by the server, not when a search returns no results. No, this is not limited to application resources. This is for any HTTP resource. The HTTP protocol doesn't care what underlying mechanism handles the request, if it is a file on the file system or a application. A resource was requested, if the resource is not found, it should return 404. It is true that 404 should not be returned upon a search which returns no results, however when you visit the resource example.net/foo you are *not* asking to perform a search, you are asking to retrieve a resource. > GitHub and Wikipedia's approach are slightly different to PHP.net in my > opinion as they render a straight 404 whereas PHP.net returns result sets > based on a list possible matches - so technically, the resource is found. No, the resource is not found. Instead you are served another page (which in this case performs a search). > If we return a 404, we are essentially telling the browser that the "search > results functionality" isn't available. No, we are telling the browser "the resource you requested was not found, but there are some search results that might help you". ------------------------------------------------------------------------ [2015-01-03 14:21:41] eldmannen+php at gmail dot com www.example.net/foo is a HTTP resource. If you request a resource, and it is not found then it should return a 404. That you do a search when requesting a resource which was not found is a different thing. I request a resource. The resource was not found. The server should return 404. The server may optionally assist me by performing a search, however that does not change the fact that the resource was not found. When I entered www.example.net/foo, I did *not* peform a search, I requested a resource. If the resource was not found, it must return 404. You are right that a search should not return 404, but I requested the resource /foo, I did not query /search?query=foo in which case you are right it should return a 200 OK. ------------------------------------------------------------------------ [2015-01-03 13:14:16] cmbecker69 at gmx dot de > so technically, the resource is found. IMHO, the *requested* resource is not found, for instance, when <http://php.net/doesntexist> is requested. > If we return a 404, we are essentially telling the browser that > the "search results functionality" isn't available. Note, that it is something different when you type "doesntexist" in the searchbox. You may also compare the difference in the "final" URI: <http://php.net/manual-lookup.php?pattern=doesntexist&scope=quickref> <http://php.net/manual-lookup.php?pattern=doesntexist&lang=en&scope=404quickref> The value of the scope parameter already hints at a "404". ------------------------------------------------------------------------ [2015-01-03 12:49:31] ja...@php.net GitHub and Wikipedia's approach are slightly different to PHP.net in my opinion as they render a straight 404 whereas PHP.net returns result sets based on a list possible matches - so technically, the resource is found. If we return a 404, we are essentially telling the browser that the "search results functionality" isn't available. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=66856 -- Edit this bug report at https://bugs.php.net/bug.php?id=66856&edit=1 -- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php