Привет всем! Краткая заметка на тему того, как получить http headers запроса, который инициировал выполнение скрипта. Также стоит отметить, что в данном случае я использую php, как fastcgi, по-этому некоторые функции, которые позволяют решить поставленную задачу, не подходят.
Как выяснилось все очень просто и все передаваемые http-заголовки
запроса благополучно хранятся в суперглобальном массиве $_SERVER
.
Пример:
Для создания запроса я воспользовался расширением для Google Chrome - REST Console.
В скрипте просто выводим значение $_SERVER
. После нажатия кнопки Send
получаем следующий вывод:
(
....
[SERVER_PROTOCOL] => HTTP/1.1
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_SOFTWARE] => nginx/1.0.10
....
[HTTP_CUSTOM_HEADER_2] => test2
[HTTP_CUSTOM_HEADER_1] => test1
...
[PHP_SELF] => /auth.php
[REQUEST_TIME] => 1328733817
)
Как видите заголовки успешно сохранены в $_SERVER
и носят название
начинающееся с префикса "HTTP_" и продолжающееся именем заголовка в
верхнем регистре с замененными знаками "-" на "_".