- •1. Содержание:
- •1. Html - введение
- •2. Основные положения
- •3. Как создаются html документы?
- •4. Структура документа
- •6. Тэги тела документа
- •7. Список базовых тэгов html
- •8. Тэги списков
- •9. Гипертекстовые ссылки
- •10. Графика внутри html-документа
- •11. Добавление стилей в html документ
- •12. Специальные тэги html
- •13. Html формы
- •13.1. Синтаксис форм
- •13.2. Тэги формы
- •13.3. Меню выбора в формах
- •13.4. Отправление файлов при помощи форм
- •14. Html фреймы
- •14.1. Синтаксис фреймов
- •14.5. Планирование фрэймов и взаимодействия между фрэймами
- •15. Создание карты изображений
- •16. Html таблицы
- •Основные тэги таблицы
- •Основные атрибуты таблицы
- •Пример таблицы
- •17. Обзор
- •18. Разбор данных html-форм
- •19. Вызов cgi программ
- •19.1. Командная строка
- •19.2. Метод вызова
- •19.3. Cgi файл данных
- •19.4. Секция [cgi]
- •19.5. Секция [Accept]
- •19.6. Секция [System]
- •19.7. Секция [Extra Headers]
- •19.8. Секция [Form Literal]
- •19.9. Секция [Form External]
- •19.10. Секция [Form Huge]
- •19.11. Секция [Form File]
- •19.12. Пример декодированных значений формы
- •19.13. Обработка результата
- •19.14. Специальные строки заголовка
- •19.15. Другие заголовки
- •19.16. Прямой возврат
- •20. Оптимизация графики для Web
- •21. Основы css
- •22. Практическое освоение css
- •23. Свойства элементов, управляемых с помощью css
19.5. Секция [Accept]
Данная секция содержит типы данных, посылаемых клиентом, найденные в заголовке запроса в виде
Accept: type/subtype {parameters}
Если данные параметры присутствуют (например, "q=0.100") , они передаются как значения параметра Accept. Для каждого типа передаваемых данных заводится свой параметр Accept.
19.6. Секция [System]
Данная секция содержит параметры, специфические для Windows реализации CGI:
GMT Offset
Количество секунд, которое необходимо добавить к времени по Гринвичу для вычисления локального времени клиента.
Debug Mode
Данный параметр имеет значение "Yes" если включен режим "CGI/script tracing" на сервере.
Output File
Полный путь к файлу, в который необходимо поместить данные, отсылаемые сервером клиенту после завершения работы программы.
Content File
Полный путь к файл у в котором содержится дополнительная информация, поступающая вместе с запросом.
19.7. Секция [Extra Headers]
Данная секция содержит "дополнительные" заголовки, которые включены в запрос в виде "параметр=значение". Сервер должен раскодировать как параметр, так и его значение прежде чем они будут помещены в файл данных CGI.
19.8. Секция [Form Literal]
Если запрос от клиента пришел в виде HTTP POST из HTML формы (с типом содержимого application/x-www-form-urlencoded или multipart/form-data), то сервер раскодирует данные из формы и поместит их в секцию [Form Literal].
Для URL-кодированных данных формы, строка передаваемых параметров выглядит как "параметр=значение&параметр=значение&...", где значения находятся в url-кодированном формате. Сервер разделяет "параметр=значение" по символу '&', затем разделяет собственно "параметр" и "значение", декодирует "значение" и помещает результат в виде "параметр=раскодированное_значение" в секцию [Form Literal].
Для многостраничных данных строка данных представляется в многостраничном MIME формате, где каждое поле представлено как отдельная часть (файл). сервер декодирует имена и значение каждой части и размещает их в формате "параметр=значение" в секции [Form Literal].
Если форма содержит какие-либо элементы SELECT MULTIPLE, то будет создано несколько строк с вида "параметр=значение" с одинаковым именем "параметра". В этом случае генерирует нормальную строку "параметр=значение" для первого встречающегося элемента, а каждый следующий представляет в виде "параметр_X=значение", где "X" - увеличивающийся счетчик.
19.9. Секция [Form External]
Если размер декодированной строки превышает 254 символа или декодированная строка содержит управляющие символы, такие, как перевод строки, возврат каретки, двойные кавычки и т.д., то сервер помещает данное значение в отдельный временный файл, а в секцию [Form External] помещает строку в виде:
параметр=путь длина
где путь - это полный путь и имя временного файла, содержащего декодированное значение параметра, а длина - длина в байтах этого файла.
19.10. Секция [Form Huge]
Если общая длина строки с кодированными параметрами превышает 65,535 байт, то сервер не выполняет декодирование, а оставляет данный в Content File, а в секцию [Form Huge] помещает строки в виде:
параметр=смещение длина
где смещение - это смещение от начала Content File по которому находится требуемый параметр, а длина - длина в байтах значения выбранного параметра. Вы можте использовать смещение для выполнения поиска начала значения выбранного вами параметра и использовать длину для чтения значения выбранного параметра. Не забывайте, что если параметр закодирован, то вам необходимо раскодировать его перед использованием.
