Re: Checking requested range
| From: | Jochem Maas | Date: | Tue, 21 Jun 2005 23:37:47 +0000 |
| Subject: | Re: Checking requested range | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-217372@lists.php.net to get a copy of this message | ||
Neil Doody wrote:
Marek Kilimajer wrote:you might want to check for "Range:" (case-sensitive) or "range:" (insensitive) instead... "GET HTTP1.1 /rangerover.html" but it may be a moot point.Try http://pear.php.net/package/HTTP_DownloadCheers for that, I think I just found a reasonable method to do a short term fix, though I might totally redesign my download application to support resumable download agents. I looked on the HTTP 1.1 protocol and found the request headers used when requesting parts of a file is "Range:". For now I put this at the top of my script :- $headers = apache_request_headers(); foreach ($headers as $header => $value) { if (stristr($header, "range") != FALSE) { die; }
} Using the apache_request_headers to check for the range request and die if it recieves it, does it look reasonable to you?possibly send out an appropriate header before you die()? (that sounds weird :-) e.g. header("Status: 501 Not Implemented"); or header("Status: 406 Not Acceptable"); I'm not sure which would be more correct, and you may need to output additional headers to complement these. more details: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html