de.comp.lang.php.* FAQ

5.9. Wie kann ich auf den HTTP-Request-Header zugreifen?

Antwort von Kristian Köhntopp

Allen CGI-Programmen stehen zusätzliche Zeilen des HTTP-Request-Headers als Umgebungsvariablen zur Verfügung. Die Headerzeile bla-fasel: laber wird dabei zur Umgebungsvariablen $_ENV["HTTP_BLA_FASEL"] mit dem Wert laber.

Zusätzliche Angaben hinter der URL der Seite stehen in der Umgebungsvariablen $_ENV["PATH_INFO"] zur Verfügung. So wird im Request http://example.com/test.php/additional/info der Anteil /additional/info in dieser Variablen zu finden sein.

Zusätzliche Angaben in der Form von Query-Strings wie sie von Formularen mit der METHOD="get" erzeugt werden, stehen in der Variablen $_SERVER["QUERY_STRING"] zur Verfügung. Ist der Query-String korrekt formuliert, werden diese Parameter auch als Variablen im Array $_GET vorbelegt. So wird der Request http://example.com/test.php?a=b&c=d die Umgebungsvariable $_SERVER["QUERY_STRING"] mit dem Wert a=b&c=d belegen und außerdem die Variablen $_GET["a"] mit dem Wert b und die Variable $_GET["c"] mit dem Wert d vorbelegen.

Verwendet man PHP als Apache-Modul, so kann man außerdem noch über die spezielle Funktion getallheaders() auf diese Request-Header zugreifen. Ein solches Script ist jedoch nicht mit einem CGI-Interpreter ausführbar, daher sollte man diese Funktion im Namen der Portabilität vermeiden.

Valid HTML 4.01! Valid CSS!

5.9. Wie kann ich auf den HTTP-Request-Header zugreifen?
http://www.php-faq.de/q/q-http-request.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team