Page 197 - 4785
P. 197
</form>
Якщо сценарій викликається з форми, йому передаються ті
дані, які користувач ввів за допомогою інтерактивних елементів,
відображуваних на веб-сторінці - передача інформації CGI-
сценарієм здійснюється в два етапи: спочатку браузер передає дані
веб-серверу, потім веб-сервер передає їх сценарієм .
У більшості випадків крім кнопки Submit форма містить інші
інтерактивні елементи, кожен з яких має ім'я (атрибут NAME) і
значення (атрибут VALUE, або послідовність символів, введена
користувачем). З імен елементів і їх значень формується рядок
параметрів, яка має наступний формат.
ім'я = значення & ім'я = значення &. . . & ім'я = значення
Кожен параметр являє собою ім'я керуючого елемента та
його значення, розділені знаком рівності, а кілька таких пар
об'єднують рядок за допомогою символу "&". Якщо до складу імені
або значення входить символ "&" або "=", то подібні символи
кодуються послідовність знака відсотка "%", за яким слідують дві
шістнадцяткові цифри, що визначають код символу. Так, наприклад,
послідовністю "% 21" кодується знак оклику "!". Як правило, при
передачі параметрів трехсімвольнимі послідовностями замінюються
все знаки, крім латинських букв, цифр і символу пробілу (останній
замінюється знаком "+").
Таким чином, перед використанням рядка параметрів її треба
декодувати. Алгоритм декодування надзвичайно простий і включає
в себе наступні дії:
- виділити з рядка параметрів пари ім'я = значення.
- виділити з кожної пари ім'я і значення.
- у кожному імені та кожному значенні замінити символи
"+" пропусками.
- кожну послідовність з символу "%" і двох
шістнадцяткових і перетворити в ASCII-символ.
Атрибут method дескриптора <form> має або значення
"GET", або значення "POST". Значення "GET" і "POST" визначають
два різних методи передачі параметрів сценарієм:
- якщо атрибут method має значення "GET", рядок
параметрів передається разом з URL викликається
195