Bug #64273 [Asn]: Requesting nonexistent files should produce HTTP 404 Not Found

From: Date: Sat, 23 Feb 2013 10:59:42 +0000
Subject: Bug #64273 [Asn]: Requesting nonexistent files should produce HTTP 404 Not Found
References: 1  Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-15544@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64273&edit=1 ID: 64273 User updated by: php-bugs-2013 at ryandesign dot com Reported by: php-bugs-2013 at ryandesign dot com Summary: Requesting nonexistent files should produce HTTP 404 Not Found Status: Assigned Type: Bug Package: Website problem PHP Version: Irrelevant Assigned To: tyrael Block user comment: N Private report: N New Comment: We would prefer not to use http://www.php.net/get/php-5.3.23.tar.bz2 /from/this/mirror style URLs. In MacPorts, each package (or "port") can specify multiple URLs for each file to be downloaded. To that list are added a number of MacPorts mirror servers located around the globe. When a user wants to install a port, MacPorts pings each server and prefers to download the files from the servers with the lowest ping times. Our hope is this will result in faster downloads for users because they will connect with servers closer to them. Currently for PHP ports we list a handful of PHP mirror servers. If we were to instead list only www.php.net, then our algorithm to determine the fastest server would only take the ping time of www.php.net itself into consideration. The end result might be that a user would be directed to one of our mirror servers, even if a PHP mirror server might be closer to them and deliver a faster download. Previous Comments: ------------------------------------------------------------------------ [2013-02-22 16:46:51] bjori@php.net Ryan, please use http://www.php.net/get/php-5.3.23.tar.bz2/from/this/mirror style urls. These will give you the correct header and redirect you to the correct mirror if needed. ------------------------------------------------------------------------ [2013-02-22 10:59:32] tyrael@php.net that sounds like a good compromise (funnyfact: I've checked and trying to download a nonexistent release on apple like iTunes will result in an empty 404 page, so they not showing that nice 404 page for the direct downloads) ------------------------------------------------------------------------ [2013-02-22 10:44:32] php-bugs-2013 at ryandesign dot com I have no objection to you making it easier for users to find your software on your web site. But please do so in a way that does not increase the support burden for people trying to help your users install your software, namely me and other people who maintain PHP in package management systems. One solution would be to serve up a custom 404 page that says "The file you requested was not found; go *here* for a list of available files," or some other wording for directing the user to the Releases page. Or even put links to the latest releases on the 404 page. See how Apple does their 404 page: http://apple.com/404notfound ------------------------------------------------------------------------ [2013-02-22 10:27:49] tyrael@php.net Hi, it seems that it is/was an intentional decision so that the it is more convinient for the humans to find what they are looking for when they request a distribution which isn't there: http://git.php.net/?p=web/php.git;a=blob;f=error.php#l120 fixing the problem reported here would be trivial, but it requires a decision which I don't wanna take on alone. ------------------------------------------------------------------------ [2013-02-22 09:04:39] php-bugs-2013 at ryandesign dot com Description: ------------ Requesting a nonexistent file from the network of PHP mirror servers should product an HTTP 404 Not Found error. In fact it produces an HTTP 302 Found redirect to a URL that produces an HTTP 200 OK code. This makes automated download systems think that the download was successful when it really was not. For example here is the type of problem this causes for the MacPorts project: https://trac.macports.org/ticket/38162 Test script: --------------- curl -I -L http://uk.php.net/distributions/php-5.3.222.tar.bz2 Expected result: ---------------- HTTP/1.1 404 Not Found Date: Fri, 22 Feb 2013 08:53:01 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Content-language: en Set-Cookie: LAST_LANG=en; expires=Sat, 22-Feb-2014 08:53:01 GMT; path=/; domain=.php.net Set-Cookie: COUNTRY=USA%2C72.183.101.32; expires=Fri, 01-Mar-2013 08:53:01 GMT; path=/; domain=.php.net Status: 404 Not Found Content-Length: 4173 Connection: close Content-Type: text/html;charset=utf-8 Actual result: -------------- HTTP/1.1 302 Found Date: Fri, 22 Feb 2013 08:38:45 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Content-language: en Set-Cookie: COUNTRY=USA%2C72.183.101.32; expires=Fri, 01-Mar-2013 08:38:45 GMT; path=/; domain=.php.net Location: http://uk1.php.net/releases/ Connection: close Content-Type: text/html; charset=utf-8 HTTP/1.1 200 OK Date: Fri, 22 Feb 2013 08:38:45 GMT Server: Apache/2.2.15 (CentOS) X-Powered-By: PHP/5.3.3 Content-language: en Set-Cookie: COUNTRY=USA%2C72.183.101.32; expires=Fri, 01-Mar-2013 08:38:45 GMT; path=/; domain=.php.net Connection: close Content-Type: text/html;charset=utf-8 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64273&edit=1

« previous php.webmaster (#15544) next »