Cgi-variables





НазваниеCgi-variables
Дата публикации26.06.2014
Размер22.9 Kb.
ТипДокументы
100-bal.ru > Информатика > Документы
Переменные заголовка HTTP-запроса

За исключением тех строк из заголовка HTTP-запроса, которые были включены в другие переменные, сервер приделывает строкам префикс HTTP_ и заменяет знаки “-” на “_”:

HTTP_ACCEPT

Давая запрос на сервер браузер обычно рассчитывает получить информацию определенного формата, и для этого он в заголовке запроса указывает поле Accept. Отсюда скрипту поступает список тех MIME, которые браузер готов принять в качестве ответа от сервера.

Пример:

HTTP_ACCEPT=text/html,text/plain,image/gif

HTTP_USER_AGENT

Браузер обычно посылает на сервер и информацию о себе, чтобы базируясь на знании особенностей и недостатков конкретных браузеров CGI-скрипт мог выдать информацию с учетом этого.

Например, разные браузеры могут поддерживать или не поддерживать какие-то HTML тэги.

Пример:

HTTP_USER_AGENT=Mozila/2.01 Gold(Win95;I)

HTTP_HOST

Имя хоста к которому обращается браузер. Так как физически на одном сервере может находиться сразу много серверов (Виртуальные Хосты), то должен быть способ сообщить серверу к какому именно идет обращение.

Скрипт же может в зависимости от этой переменной производить различные действия, если он используется на сайтах сразу нескольких виртуальных хостов.

Пример:

HTTP_HOST=www.nnov.city.ru

Начнем применять на практике усвоенные уроки.

#!/usr/bin/perl

#vars.cgi

sub urldecode{ #очень полезная функция декодирования local($val)=@_; #запроса,будет почти в каждой вашей CGI-программе

$val=~s/\ +/ /g;

$val=~s/%([0-9A-H]{ 2} )/pack(‘C’,hex($1))/ge;

return $val;

}

print "Content-Type: text/html\ n\ n";

print "CGI-Variables\ n";

print "\ n";

print "Enter here something:
\ n";


print "Your request is:$ENV{ ‘REQUEST_STRING’}
\ n";


print "Decoded request is:urldecode($ENV{ ‘REQUEST_STRING’} )
\ n";


print "
\ n";


print "Variables:
\ n";


print "REQUEST_METHOD=$ENV{ ‘REQUEST_METHOD’}
\ n";


print "QUERY_STRING=$ENV{ ‘QUERY_STRING’}
\ n";


print "CONTENT_LENGTH=$ENV{ ‘CONTENT_LENGTH’}
\ n";


print "CONTENT_TYPE=$ENV{ ‘CONTENT_TYPE’}
\ n";


print "GATEWAY_INTERFACE=$ENV{ ‘GATEWAY_INTERFACE’}
\ n";


print "REMOTE_ADDR=$ENV{ ‘REMOTE_ADDR’}
\ n";


print "REMOTE_HOST=$ENV{ ‘REMOTE_HOST’}
\ n";


print "SCRIPT_NAME=$ENV{ ‘SCRIPT_NAME’}
\ n";


print "SCRIPT_FILENAME=$ENV{ ‘SCRIPT_FILENAME’}


\ n";


print "SERVER_NAME=$ENV{ ‘SERVER_NAME’}
\ n";


print "SERVER_PORT=$ENV{ ‘SERVER_PORT’}
\ n";


print "SERVER_PROTOCOL=$ENV{ ‘SERVER_PROTOCOL’}
\ n";


print "SERVER_SOFTWARE=$ENV{ ‘SERVER_SOFTWARE’}
\ n";


print "HTTP_ACCEPT=$ENV{ ‘HTTP_ACCEPT’}
\ n";


print "HTTP_USER_AGENT=$ENV{ ‘HTTP_USER_AGENT’}
\ n";


print "HTTP_HOST=$ENV{ ‘HTTP_HOST’}
\ n";


print "
\ n";


print "All enviroment:
\ n";


foreach $env_var (keys %ENV){

print "$env_var=$ENV{ $env_var}
\ n";


}

print "

Добавить документ в свой блог или на сайт

Похожие:

Cgi-variables iconЛабораторная работа №3. Создание тестовой системы и счетчика посещений...
Правоведение: учебно-методическое пособие для самостоятельной работы студентов [Текст] / сост. С. И. Гутник. – Красноярск: Сиб федер...
Cgi-variables iconУрок Формы Форма предназначена для подготовки и отправки данных шлюзу cgi
Параметры action, method и enctype рассматривать не будем (будем писать тег без параметров). Внутри формы используется три элемента-тега:...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск