Кодирование и формат отправляемых данных - Компьютерные сети
По умолчанию - application/x-www-form-urlencoded Все символы не из первой половины ASCII заменяются их кодами, например, "a" на "%E0". Пробелы - на "+", "&;" - на "%26".
Multipart/form-data - используется для отправки двоичных данных и данных смешанного типа.
Существует два типа кодирования содержания (тела) HTTP-сообщения, которые можно определить в форме:
- - application/x-www-form-urlencoded - multipart/form-data
Первый тип кодирования выбирается по умолчанию и является основным способом. В URL документа можно использовать только символы набора Latin1. Это первая половина таблицы ASCII за вычетом первых 20 символов. Все остальные символы заменяются своими шестнадцатеричными эквивалентами. Кроме того, такие символы, как "+" или "&;", играют роль разделителей или коннекторов. Если они встречаются в значении поля, то тоже заменяются на шестнадцатеричный эквивалент. Наиболее характерно это для работы с русским алфавитом. Поэтому скрипт, который принимает запросы, должен уметь эти символы декодировать.
Второй тип применяется для передачи двоичной информации в теле HTTP-сообщения. Если проводить аналогии с электронной почтой, то multipart/form-data обеспечивает присоединение файла данных (attachment) к HTTP-запросу. Наиболее типичным примером является передача файла с машины пользователя на сервер:
<FORM ACTION=script. cgi METHOD=post
ENCTYPE=multipart/form-data>
<INPUT NAME=n1 VALUE="Поле1">
<INPUT NAME=n2 TYPE=file>
<INPUT TYPE=BUTTON VALUE="Отправить">
</FORM>
В данном случае HTTP-сообщение будет очень похоже на почтовое сообщение в стандарте MIME (собственно, это и есть MIME-сообщение, только передается оно по протоколу HTTP). Естественно, что для приема такого сообщения нужен скрипт, который бы смог разобрать его на части, а потом декодировать необходимую информацию.
Сообщение типа "multipart/form-data" состоит из нескольких частей, каждая их которых представляет успешный управляющий элемент. Части отправляются обрабатывающему агенту в том порядке, в котором соответствующие управляющие элементы представлены в потоке документа. Границы частей не должны находиться в данных.
Как и во всех составных типах MIME, каждая часть имеет необязательный заголовок "Content-Type", для которого по умолчанию устанавливается значение "text/plain". Агенты пользователей должны предоставлять заголовок "Content-Type" с параметром "charset".
Каждая часть должна содержать:
- - заголовок "Content-Disposition", имеющий значение "form-data"; - атрибут именования, определяющий имя соответствующего управляющего элемента. Имена управляющих элементов, изначально закодированные с использованием наборов символов, отличных от ASCII, могут кодироваться с помощью метода, описанного в [RFC2045].
Application/x-www-form-urlencoded
BigText= TextTextText&;pol1= m
Multipart/form-data
------------Gt1CO3wAR7XTbm1eE7LoA6
Content-Disposition: form-data; name="BigText "
TextTextText
------------Gt1CO3wAR7XTbm1eE7LoA6
Content-Disposition: form-data; name="pol1 "
M
------------Gt1CO3wAR7XTbm1eE7LoA6--
Multipart/form-data - для отправки больших объемов данных или двоичных файлов
Пример CGI-скрипта (GET) на PascalABC
S:=Environment. GetEnvironmentVariable('QUERY_STRING');
Writeln(file,'Переменная окружения QUERY_STRING: ',s);
Writeln('Content-Type: text/html');
Writeln('');
Writeln('<html> <head> <title> OK </title> </head> <body> <h1> Введенные в форму данные успешно записаны в файл zapros_get. txt </h1></body>')
Пример CGI-скрипта (POST) на PascalABC
Val(Environment. GetEnvironmentVariable('CONTENT_LENGTH'),n, err);
Writeln(file,'Размер: ',n);
Writeln(file,'Данные:');
SetLength(s, n);
For i:=0 to n-1 do
Read(s[i]);
For i:=0 to n-1 do
Write(f, s[i]);
Writeln('Content-Type: text/html');
Writeln('');
Writeln('<html> <head> <title> OK </title> </head> <body> <h1> Введенные в форму данные успешно записаны в файл zapros_post. txt </h1></body>')
Похожие статьи
-
Типы записей в базе данных DNS-сервера - Компьютерные сети
DNS-сервер, отвечающий за имена хостов в своей зоне, должен хранить информацию о хостах в базе данных и выдавать ее по запросу с удаленных компьютеров....
-
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел. Принцип построения этой...
-
Способы связывания с документом - Компьютерные сети
Внешние таблицы стилей - в отдельном css-файле. Связывается с HTML-документом командой <link rel="stylesheet" href="/templates/template. css"...
-
Доставка писем, Протокол SMTP - Компьютерные сети
Рассмотрим процесс доставки писем на примере. Пусть Алиса хочет отправить письмо Бобу. 1. Почтовая программа Алисы (т. е. клиент или MUA - Mail User...
-
Редакторы HTML - Компьютерные сети
- Adobe Dream Weaver; - Microsoft Expression Web; - SharePoint Designer (бесплатный); - Web Development Studio (бесплатная); - Word; - Microsoft Front...
-
ОСНОВНЫЕ КОМПОНЕНТЫ WWW, URL, HTML - Компьютерные сети и телекоммуникации
World Wide Web переводится на русский язык как "Всемирная Паутина". И, в сущности, это действительно так. WWW является одним из самых совершенных...
-
Многоуровневые сетевые модели, Сетевая модель - Компьютерные сети
Глобальные сети объединяют в себе огромное количество географически распределенных узлов. Множество вариантов программно-технической реализации передачи...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
В связи с выросшей потребностью в доступе к сети Интернет в настоящее время встает вопрос в грамотной организации сети, способной обрабатывать большие...
-
Коды ошибок, возвращаемых веб-сервером. - Компьютерные сети
200 OK: Запрос успешно обработан, объект получен и включен в ответ. 301 Moved Permanently: Объект был перемещен; новый URL-адрес указан в строке ответа...
-
МЕТОДЫ ДОСТУПА К ПЕРЕДАЮЩЕЙ СРЕДЕ В ЛВС - Компьютерные сети и телекоммуникации
Несомненные преимущества обработки информации в сетях ЭВМ оборачиваются немалыми сложностями при организации их защиты. Отметим следующие основные...
-
Служба трансляции имен DNS - Компьютерные сети
Клиенты DNS - специализированные библиотеки (или программы) для работы с DNS (в Windows - служба "DNS-клиент"). Серверная сторона DNS - множество...
-
Функции уровней, Эталонная модель OSI - Компьютерные сети
В компьютерной сети каждый уровень может выполнять одну или несколько функций, перечисленных ниже. - адресация, - правила переноса данных: направление...
-
Для компьютерного оборудования и данных (информации) существуют три основные угрозы: Физическое воровство, которое включает подключение к различным...
-
Первая проблема, которую приходится решать при создании корпоративной сети - организация каналов связи. Каналы связи -- создаются по Линиям связи при...
-
При запуске программы с входными параметрами {"-makexls" "filename. xls" "температурная_точка" "отклонение" "элемент"} происходит извлечение результатов...
-
ИИС "Шлаковые расплавы" позволяет вести моделирование КЭ в нескольких "режимах", с полным набором получаемых свойств. 1. Моделирование комплекса свойств...
-
Рассмотрим два программных продукта наиболее схожих по функциям и назначению с программным обеспечением "Программа обработки сложноструктурированных...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
В ходе разработки программы было использовано программное обеспечение Microsoft® Windows® "Подключение к удаленному рабочему столу" для извлечения...
-
Данная компания является ведущем производителем оборудования и выпуска квалифицированных специалистов в мире. Это одна из самых оцененных компаний в...
-
История сети ИНТЕРНЕТ, Региональные компьютерные сети и Интернет - Глобальная сеть Интернет
В 1961 году Defense Advanced Research Agency (DARPA) по заданию министерства обороны США приступило к проекту по созданию экспериментальной сети передачи...
-
Кодирование цвета Кодируется цвет графических изображений с помощью бит. Количество бит, с помощью которых закодирован цвет называют битовой глубиной...
-
Хранение, кодирование и пpеобpазование данных - Единицы измерения информации в памяти ПК
Хранение информации в памяти ЭВМ - одна из основных функций компьютера. Любая информация хранится с использованием особой символьной формы, которая...
-
Результаты проведенных экспериментов содержатся во внутреннем серверном файловом хранилище (Рис. 2). Представляют собой документы формата "*.DAT". В них...
-
Повторитель (repeater) Усиливает сигнал сетевого кабеля, который затухает на расстоянии более 100 м. Он работает на физическом уровне стека протоколов,...
-
Аналитическая часть - Разработка программ преобразования форматов двоичных данных и сортировок
Язык - множество символов и совокупность правил, определяющих способы составления из этих символов осмысленных сообщений. Семантика - система правил и...
-
ТЕНДЕНЦИИ РАЗВИТИЯ ИНТЕРНЕТ - Компьютерные сети и телекоммуникации
В 1961 году DARPA (Defence Advanced Research Agensy) по заданию министерства обороны США приступило к проекту по созданию экспериментальной сети передачи...
-
Электронная почта обеспечивает доставку писем (а часто и пpоизвольных файлов, а также голосовых и факсимильных сообщений) от одних пользователей к...
-
В настоящее время большинство компьютеров используется не изолировано от других компьютеров, а постоянно или время от времени подключаются к локальным...
-
Электронная почта - Компьютерные сети
Основные компоненты эектронной почты - почтовые клиенты пользователей; - почтовые серверы; - протокол отправки почты: SMTP; - протоколы доступа к...
-
Обзор сетей передачи данных, Определение локальных сетей - Сеть абонентского доступа
Определение локальных сетей Способов и средств обмена информацией за последнее время предложено множество: от простейшего переноса файлов с помощью...
-
ВВЕДЕНИЕ, КЛАССИФИКАЦИЯ КОМПЬЮТЕРНЫХ СЕТЕЙ - Компьютерные сети и телекоммуникации
За последние годы глобальная сеть Интернет превратилась в явление мирового масштаба. Сеть, которая до недавнего времени использовалась ограниченным...
-
Недостатки и альтернативы CGI - Компьютерные сети
Недостаток CGI: вызов программы - "дорогая" операция, особенно если это скрипт, который еще нужно интерпретировать (или откомпилировать). Альтернативные...
-
Метод POST - Компьютерные сети
После нажатия на кнопку "отправить" браузер посылает серверу сообщение. Приводим реальные данные, перехваченные сниффером. Запрос браузера к серверу,...
-
-приложения - Компьютерные сети
CGI (Common Gateway Interface) -- стандарт обмена данными между прикладной программой, выполняемой по запросу пользователя, и HTTP-сервером, который...
-
Компьютерный вирус - это небольшая программа, написанная в машинных кодах, которая способна внедряться в другие программы, сама себя копировать и...
-
Консорциум Всемирной паутины - Компьютерные сети
С 1994 года основную работу по развитию Всемирной паутины взял на себя Консорциум Всемирной паутины (англ. World Wide Web Consortium, W3C), основанный и...
-
Считывание сложноструктурированных данных При разработке программного обеспечения был выбрано построковое считывание данных, ввиду использования...
-
Сервер DNS для Linux - Компьютерные сети
BIND (Berkeley Internet Name Domain) -- программный пакет системы DNS для UNIX систем. Функции сервера DNS в этом пакете реализует программа named (от...
Кодирование и формат отправляемых данных - Компьютерные сети