Edit report at https://bugs.php.net/bug.php?id=66856&edit=1
ID: 66856 User updated by: eldmannen+php at gmail dot com Reported by: eldmannen+php at gmail dot com Summary: Failed manpage lookups return 200 OK -Status: Closed +Status: Assigned Type: Bug Package: Website problem PHP Version: Irrelevant Assigned To: levim Block user comment: N Private report: N New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [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] [email protected] 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. ------------------------------------------------------------------------ [2015-01-03 12:41:41] cmbecker69 at gmx dot de > A 404 is intended to be delivered should an application resource > cannot be located by the server, not when a search returns no > results. Correct. However, in this case the user doesn't intend to search. Compare the respective behavior of php.net to Github[1] or Wikipedia[2], for instance. [1] <https://github.com/doesntexist> [2] <http://en.wikipedia.org/wiki/Doesntexist> ------------------------------------------------------------------------ [2015-01-03 12:14:48] [email protected] A 404 is intended to be delivered should an application resource cannot be located by the server, not when a search returns no results. ------------------------------------------------------------------------ [2014-03-13 17:08:53] [email protected] A successful search isn't a 404. The fact that it is doing a search means it didn't find what you are looking for, though. Anyone else have any comments? Sending a 404 is really easy if that's what we want to do, I'm just not sure. ------------------------------------------------------------------------ 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
