Header an Script durchreichen

Alles, was den Apache betrifft, kann hier besprochen werden.

Header an Script durchreichen

Postby bst27 » 10. July 2012 01:22

Gute Nacht!

Es ist schon spät und ich bin noch wach, weil ich an einem Problem nage.

Ich programmiere ein PHP Script, welches später einmal Downloads ausliefern soll. Ich möchte auch den Range-Header unterstützen, da die Dateien mitunter recht groß sein können und ich so ein pausieren/wiederaufnehmen von Downloads erlauben möchte.

Jetzt stehe ich allerdings vor einem Problem, auf welches ich garnicht mal so einfach gekommen bin:

Es scheint mir, dass der Apache (xampp) den Range-HTTP-Header nicht wie von mir gewollt an mein PHP-Script durchreicht, sondern diesen Header auf die Ausgabe meines Scriptes anwendet. Das ist natürlich so nicht gewollt. Schließlich möchte ich diese Aufgabe ja in meinem Script übernehmen. Wie kann ich das also realisieren? Wo muss ich was rumdrehen damit das funktioniert?

Oder bin ich da auf einer ganz falschen Fährte und der Fehler liegt dort nicht?

Ich habe mit Putty lange rumgetestet. Folgende Eingabe

Code: Select all
GET /root/download.php?fid=839835 HTTP/1.1
Host: localhost
Range: bytes=3-4
Connection: Close


liefert mir folgende Antwort:

HTTP/1.1 206 Partial Content
Date: Tue, 10 Jul 2012 00:09:16 GMT
Server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
X-Powered-By: PHP/5.3.8
Set-Cookie: PHPSESSID=hksnoo23vcafpej6066st4sb97; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Disposition: attachment; filename="filedownload.dat"
Accept-Ranges: bytes
Content-Range: bytes 3-4/61
Content-Length: 2
Connection: close
Content-Type: application/octet-stream



Bin für Hilfe sehr dankbar.

Lieben Gruß
bst27
 
Posts: 2
Joined: 10. July 2012 01:17
Operating System: Windows 7

Re: Header an Script durchreichen

Postby bst27 » 10. July 2012 17:04

Weiß niemand Rat? Ich stehe immernoch vor dem Problem. Manchmal erhalte ich auch folgende Apache Meldung:

Code: Select all
HTTP/1.1 416 Requested Range Not Satisfiable
Date: Tue, 10 Jul 2012 15:59:34 GMT
Server: Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

1c8
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
                                                  <html><head>
                                                              <title>416 Requested Range Not Satisfiable</title>
             </head><body>
                          <h1>Requested Range Not Satisfiable</h1>
                                                                  <p>None of the range-specifier values in the Range
                 request-header field overlap the current extent
                                                                of the selected resource.</p>
                                                                                             <hr>
                                                                                                 <address>Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 81</address>
                                   </body></html>

0


Der Apache sagt mir also, dass der angeforderte Bereich der Datei nicht verfügbar ist. Das macht ja auch Sinn, da mein PHP-Script relativ klein ist. Doch wie kann ich das lösen? Ich möchte eben nicht, dass der Apache das auf meine Script-Datei anwendet.
bst27
 
Posts: 2
Joined: 10. July 2012 01:17
Operating System: Windows 7


Return to Apache

Who is online

Users browsing this forum: No registered users and 22 guests