Последние публикации

  16 Июля, 2011
Взлом капчи
Разбираемся, как ломают капчи. Теория и практика


  17 Июня, 2011
Справочник по PHP
Синтаксис языка и операторы. Функции работы с данными. Файлы и сети. Управляющие функции. ..


  25 Января, 2011
Основы web-технологий.
С появлением высокопроизводительных серверов, сетевого оборудования и высокоскоростных каналов связи ..


  22 Января, 2011
Теоретические основы защиты информации.
В настоящее время и у нас в стране, и за рубежом достаточно много публикаций по современным ..


Поиск по сайту

 

postheadericon Главная / web программирование / web технологии

Основы web-технологий.


С появлением высокопроизводительных серверов, сетевого оборудования и высокоскоростных каналов связи стала реальностью организация на основе ПК корпоративных вычислительных сетей.

на поток. При получении дескриптора стандартного потока вывода в качестве значения параметра следует указать константу stdout, а при получении дескриптора стандартного потока ввода – stdin. Полученное значение дескриптора теперь можно использовать при вызове функции setmode() для перевода потока в двоичный режим:

 

#include

#include

int setmode(int handle, int mode);

 

Первым параметром данной функции является дескриптор открытого потока. Вторым параметром является режим, в который будет переведен поток, задаваемый одной из констант: O_TEXT при переводе потока в текстовый режим или O_BINARY при переводе потока в двоичный режим. Функция возвращает ранее установленный режим для данного потока или –1 в случае ошибки.

Для записи в поток, находящийся в двоичном режиме, удобно использовать функцию fwrite():

 

#include

int fwrite(void *buffer, size_t size, size_t count, FILE *stream);

 

В параметре buffer передается адрес буфера, откуда будут взяты записываемые в поток данные. В параметрах size и count указывается длина читаемого блока. Поскольку приложение

CGI передает длину тела сообщения в байтах, то в параметре size указывается 1, а в параметре count – длина передаваемого блока данных. В качестве параметра stream следует передать константу stdout, для указания того, что запись производится в стандартный поток вывода. Функция fwrite() возвращает количество фактически записанных символов.

Функцию printf() неудобно использовать при передаче двоичных данных, поскольку в передаваемом блоке могут оказаться нули.

Стандартный поток ввода практически всегда нужно переводить в двоичный режим, поскольку, если передаваемые от пользовательского агента данные являются многострочными, то есть содержат символы перевода строки и возврата каретки, то значение переменной окружения CONTENT_LENGTH не будет соответствовать фактическому числу символов, прочитанному из стандартного потока ввода в текстовом режиме.

Программа CGI должна выполнить следующие действия:

1.     Прочитать значение заголовка REQUEST_METHOD для определения запрашиваемого метода.

2.     Если запрашиваемый метод – GET, то прочитать переменную окружения QUERY_STRING и считать полученное значение кодированным содержимым формы. Способ кодирования считать равным application/x-www-url-encoded.

3.     Если запрашиваемый метод – POST, то прочитать длину тела сообщения запроса из переменной окружения CONTENT_LENGTH. Из стандартного потока ввода прочитать тело сообщения запроса и считать его кодированным содержимым формы. Способ кодирования прочитать из переменной окружения CONTENT_TYPE.

4.     Разобрать кодированное содержимое формы в зависимости от способа кодирования.

5.     Прочитать необходимые программе CGI переменные окружения.

6.     Выполнить все необходимые в программе действия и сформировать документ с результатом работы программы.

7.     Отправить в стандартный поток

Дата публикации: 25 Января, 2011
Автор: Стрельников О.И
Прочитано: 4524 раз

-  19  -

<1 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |  19  | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30>

postheadericon Это интересно

Лекции по информационной безопасности.

Словосочетание "информационная безопасность" в разных контекстах может иметь различный смысл.

Настройка безопасности компьютера.

Методика настройки приложений для безопасной работы в интернете.

Компьютерный вирус

Понятие и классификация.

Хакеры. Герои компьютерной революции.

Давайте проведем небольшой тест. Какие ассоциации вызывает у вас слово «хакер?».