#6. 2 php web приложения Переменные сервера и заголовка HTTP-запроса
Primary tabs
В РНР существует специальный суперглобальный массив $_SERVER
, который содержит различные переменные web-сервера, которые могут быть полезны при разработке web-приложений. Например, переменная $_SERVER['PHP_SELF']
содержит имя текущего скрипта, переменная $_SERVER['REQUEST_METHOD']
содержит название метода передачи данных («GET»
или «POST»
), и т.п.
Наиболее употребительные серверные переменные приведены в таблице 1.
Таблица 1. Переменные web-сервера
Переменная | Описание |
'AUTH_TYPE'
|
Если РНР используется вместе с web-сервером Apache в режиме модуля, переменная содержит тип аутентификации. |
'DOCUMENT_ROOT'
|
Корневой каталог web-сервера, предназначенный для хранения HTML-документов, в соответствии с его конфигурацией — т.н. корень. |
'GATEWAY_INTERFACE'
|
Версия спецификации CGI, которая поддерживается web-сервером, например 'СGI/1.1 ' .
|
'PHP_AUTH_USER'
|
Если РНР используется вместе с web-сервером Apache в режиме модуля, переменная содержит имя пользователя, введенное в окне аутентификации. |
'PATH_TRANSLATED'
|
Полное локальное имя файла текущего скрипта. |
'PHP_AUTH_PW'
|
Если РНР используется вместе с web-сервером Apache в режиме модуля, переменная содержит пароль пользователя, введенный в окне аутентификации. |
'PHP_SELF'
|
Путь к текущему скрипту относитепьно корня. |
'QUERY_STRING'
|
Строка запроса, переданная скрипту. Задается для метода передачи данных GЕТ, имеет вид: |
'REMOTE_ATTR'
|
IР-адрес удапенного попьзователя,который запросил данный скрипт. |
'REMOTE_HOST'
|
Имя узла удаленного пользователя,который запросил данный скрипт. |
'REMOTE_PORT'
|
Номер порта удаленного пользователя, который запросил данный скрипт. |
'REQUEST_METHOD'
|
Метод передачи данных, при помощи которого был загружен данный скрипт — GET , HEAD , POST или PUT .
|
'REQUEST_URI'
|
URL текущего скрипта, например '/index.php'. |
'SCRIPT_FILENAME'
|
Полное абсолютное локальное имя скрипта. |
'SCRIPT_NAME'
|
Путь к текущему скрипту относительно корня. |
'SERVER_ ADMIN'
|
E-mail администратора web-сервера. |
'SERVER_NAME'
|
Имя хоста web-сервера. |
'SERVER_PORT'
|
Порт web-сервера (обычно 80). |
'SERVER_PROTOCOL'
|
Наименование и версия протокола, используемого wеЬ-сервером для обмена информацией с браузером, например, 'НТТР/1.0'. |
'SERVER_SIGNATURE'
|
Строка, содержащая версию wеЬ-сервера и название хоста, которая добавляется к автоматически генерируемым страницам. |
'SERVER_SOFTWARE'
|
Строка, идентифицирующая название и версию программного обеспечения web-сервера. |
Серверные переменные могут быть весьма полезны при разработке приложений. Ниже приведен пример отображения имени текущего скрипта:
<HTML> <head> <title>Идентификация скрипта</title> </head> <body> <Н1>Идентификация скрипта</Н1> <?php echo "Текущий скрипт: ", $_SERVER['PHP_SELF']; ?> </body> </HTML>
В результате выполнения будет выведена строка наподобие:
Текущий скрипт: /php/06/phpidentifier.php
Кроме элементов, перечисленных в табл. 1, массив $_SERVER
содержит также информацию из заголовка HTTP-запроса. HTTP-запрос посылается web-серверу клиентом, а его заголовок содержит полезную информацию о браузере. Например, $_SERVER['HTTP_USER_AGENT']
содержит информацию o версии браузера (определению типа браузера посвящен следующий раздел главы). В табл. 2 перечислены те элементы массива $_SERVER
, которые заполняются на основании заголовка HTTP-запроса. В зависимости от версии протокола и типа браузера те или иные поля в заголовке HTTP-запроса могут отсутствовать.
Таблица 2. Переменные заголовка HTTP-запроса
Переменная | Поле заголовка | Описание |
'HTTP_ACCEPT' |
Accept: |
Перечисление через запятую MIME-кодировок типов данных, которые может обработать браузер. |
'HTTP_ACCEPT_CHARSET' |
Accept charset: |
Перечисление кодировок, которые поддерживает браузер. |
'HTTP_ACCEPT_ENCODING' |
Accept-Encoding: |
Способы сжатия информации, которые поддерживает браузер, например, gzip. |
'HTTP_ACCEPT_LANGUAGE' |
Accept-Language: |
Обозначение языка,который может корректно отображать браузер, например en (английский) или ru (русский). |
'HTTP_CONNECTION' |
Connection: |
Поле управляет соединением с web-сервером, обычно содержит значение Keep-Alive. |
'HTTP_HOST' |
Host: |
Имя хоста, к которому обращается браузер. |
'HTTP_REFERER' |
Referer: |
Адрес cтраницы,с которой осуществляется переход на запрошенную страницу. Заполняется браузером только в том случае, если переход осуществляется по гиперссылке (а не путем ввода адреса в соответствующее поле браузера). |
'HTTP_USER_AGENT' |
User-Agent: |
Строка, идентифицирующая браузер. |
- Log in to post comments
- 232 reads