Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Котеров Д. В. - Самоучитель PHP 4
<<-[Весь Текст]
Страница: из 287
 <<-
 
е будем останавливаться на этом вопросе. 
Ниже приводятся некоторые заголовки запросов с их описаниями, а также имена пе- 

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

применены, иными словами, вместе с наиболее распространенными их значениями. 
Так будет несколько нагляднее. 
GET 
r Формат: GET сценарий?параметры HTTP/1.0 
r Переменные окружения: REQUEST_URI; в переменной QUERY_STRING сохраняется 
значение параметры, в переменной REQUEST_METHOD — ключевое слово GET. 

Часть I. Основы Web-программирования 32 
Этот заголовок является обязательным (если только не применяется метод POST) и 
определяет адрес запрашиваемого документа на сервере. Также задаются параметры, 

которые пересылаются сценарию (если сценарию ничего не передается, или же это 
обычная статическая страница, то все символы после знака вопроса и сам знак 
опус- 
каются). Вместо строки HTTP/1.0 может быть указан и другой протокол — напри- 
мер, HTTP/1.1. Именно его соглашения и будут учитываться сервером при обработке 

данных, поступивших от пользователя, и других заголовков. 
Строка сценарий?параметры задается в том же самом формате, в котором она вхо- 
дит в URL. Неплохо было бы назвать эту строку как-нибудь более реалистично, 
чтобы 
учесть возможность присутствия в ней командных параметров. Такое название 
дейст- 
вительно существует и звучит как URI (Universal Resource Identifier — 
Универсаль- 
ный идентификатор ресурса). Очень часто его смешивают с понятием URL (вплоть до 

того, что это происходит даже в официальной документации по стандартам HTTP). 
Давайте договоримся, что в будущем я всегда буду называть словом URL полный 
путь к некоторой Web-странице вместе с параметрами, и условимся, что под словом 

URI будет пониматься его часть, расположенная после имени (или IP-адреса) хоста 
и 
номера порта. 
POST 
r Формат: POST сценарий?параметры HTTP/1.0 
r Переменная окружения: REQUEST_URI; в переменной QUERY_STRING сохраняется 
значение параметры, в переменной REQUEST_METHOD — слово POST. 
Этот заголовок используется при передаче данных методом POST. Вскоре мы рас- 
смотрим этот метод подробнее, а пока скажу лишь, что он отличается от метода 
GET 
тем, что данные можно передавать не только через командную строку, но и в конце 

всех заголовков. 
Content-type 
r Формат: Content-Type: application/x-www-form-urlencoded 
r Переменная: CONTENT_TYPE 
Данный заголовок идентифицирует тип передаваемых данных. Обычно для этого ука- 
зывается значение application/x-www-form-urlencoded, что означает формат, в 
котором все управляющие символы (отличные от алфавитно-цифровых и других ото- 
бражаемых) специальным образом кодируются. Это тот самый формат передачи, ко- 
торый используется методами GET и POST. Довольно распространен и другой формат, 

и называется он multipart/form-data. Мы разберем его, когда будем обсуждать 
вопрос, касающийся загрузки файлов на сервер. 
Хочу обратить ваше внимание на то, что сервер никак не интерпретирует 
рассматри- 
ваемый заголовок, а просто передает его сценарию через переменную окружения. 

Глава 2. Интерфейс CGI 33 
User-Agent 
r Формат: User-Agent: Mozilla/4.5 [en] (Win95; I) 
r Переменная окружения: HTTP_USER_AGENT 
Уточняет версию браузера (в данном случае это Netscape Navigator). 
Referer 
r Формат: Referer: URL_адрес 
r Переменная окружения: HTTP_REFERER 
Как правило, этот заголовок формируется браузером и содержит URL страницы, с 
которой осуществился переход на текущую страницу по гиперссылке. Впрочем, если 
вы пишете сценарий, который в целях безопасности отслеживает значение данного 
заголовка (например, для его запуска только с определенной страницы), помните, 
что 
умелый хакер всегда сможет подделать заголовок Referer. 
Вы, наверное, подумали, что слово referer пишется по-английски с двумя бук- 
вами "r". Да, вы правы. Однако те, кто придумывал стандарт HTTP, этого, ви- 
димо, не знали. Та
 
<<-[Весь Текст]
Страница: из 287
 <<-