При помощи переменных данного типа шлюз узнает полную информацию о запросе к нему.
Т.е. каким методом будут передаваться данные, их тип, длину и т.д.
AUTH_TYPE
Тип авторизации используемой сервером. Например:
Basic
CONTENT_FILE
Путь к файлу с полученными данными. Используется только в серверах под Windows. Например:
c:websitecgi-temp103421.dat
CONTENT_LENGTH
Длинна переданной информации в байтах. То бишь сколько надо считать байтов из stdin. Например:
10353
CONTENT_TYPE
Тип содержимого посланного серверу клиентом. Например:
text/html
OUTPUT_FILE
Файл для вывода данных, используется только серверами под Windows. Аналогично CONTENT_FILE.
PATH_INFO и PATH_TRANSLATED
В современных веб-серверах появилась возможность после имени скрипта
указывать еще какой-то определенный путь. Для чего он нужен скрипту я пока не очень понимаю.
Но видимо некоторым он сможет пригодиться. Эти переменные работают следующим образом.
Предположим существует скрипт с именем 1.cgi в каталоге сервера /cgi-bin,
тогда при вызове скрипта в таком виде:
Помоему видно, что эти переменные будут указывать на папку относительно корневой
директории сервера. При этом PATH_TRANSLATED будет содержать абсолютный путь
до этого каталога на диске сервера. В данном случае корневым каталогом сервера считается
/home/httpd/html/, и еще замечу, что это путь в Unix системах.
Под dos/win системами переменная PATH_INFO не изменится, а
PATH_TRANSLATED будет содержать d:apachehtdocsdir1dir2 (в
данном случае корнем сервера является директория d:apachehtdocs).
QUERY_STRING
Содержит данные переданные через URL. Такие данные указываются
после имени шлюза и знака ?. Пример:
http://.../cgi-bin/1.cgi?d=123&name=kostia
тогда переменная QUERY_STRING будет содержать
d=123&name=kostia
и еще незабывайте, что данные передаваемые таким образом кодируются методом URL.
REMOTE_ADDR
Содержит IP адрес пользователя пославшего запрос шлюзу. Если Вы обращаетесь
к любому шлюзу в интернете, то данная переменная будет содержать ваш IP адрес. Пример:
192.168.1.36
REMOTE_HOST
Содержит ваше доменное имя, при условии, что вы прописаны на каком-либо DNS сервере.
Например, если ваш Dial-UP провайдер регистрирует все свои динамические IP адреса на DNS сервере, то
при обращении к шлюзу, эта переменная может содержать примерно следующее:
d6032.dialup.cornell.edu
или
dial57127.mtu-net.ru
или
ppp-130-66.dialup.metrocom.ru
(брал прямо из логов сервера :-)
REQUEST_METHOD
Мы раньше говорили об этой переменной. Она содержит метод передачи данных шлюзу: GET или POST.
REQUEST_LINE
Содержит строку из запроса протокола HTTP. Например:
GET /cgi-bin/1.cgi HTTP/1.0
SCRIPT_NAME
Содержит имя вызванного скрипта. Например: 1.cgi.
Все эти переменные, надеюсь, обеспечат Вам все самые необходимые данные о запросе к шлюзу.
После публикации 29 тестовых версий
анонсирован первый стабильный релиз
MySQL 5.1, пригодный для
промышленной эксплуатации и обеспечивающий увеличение производительности для
"тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные
новшества
появившиеся в MySQL 5.1:
Тестирование параллельного программного обеспечения представляет собой более
сложную задачу по сравнению с тестированием последовательной программы. Программист
должен знать о подводных камнях при тестировании параллельного кода, имеющихся
методологиях и инструментарии.
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее
реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности,
достоинства и недостатки.