
- •1.Принцип работы www – сервера.
- •2. Протокол mime.
- •3.Протокол http.
- •Что происходит во время сеанса http?
- •4.Язык html и языки сценариев. Общие сведения. Что такое html
- •Язык сценариев vbscript
- •5.Особенности построения сетей tcp/ip в контексте Интернет.
- •Одноранговые сети
- •Сети на основе сервера
- •Комбинированные сети
- •7.Система доменных имен.
- •8.Типы прокси-серверов, их использование.
- •Виды прокси-серверов
- •10.Языки разметки html и xhtml.
- •Обязательные теги языка html
- •Тело html документа Заголовки
- •Правила расстановки относительных ссылок в языке html
- •Вставка рисунков в html страницу
- •Фреймы в html документе
- •Различия между xhtml и html
- •11.Синтаксис xhtml.
- •12.Динамические html-страницы.
- •13.Таблицы стилей css.
- •Синтаксис таблицы стилей
- •Определение правил css
- •Встроенный стиль
- •14.Основы технологии xml.
- •2. Xml немного похож на html
- •4. Xml умышленно многословен
- •7. Технология xml свободна от лицензирования, платформо-независима и хорошо поддерживаема
- •15.Методы передачи данных. Концепция интерфейса cgi.
- •16.Классическое cgi-программирование. Что такое cgi-программа
- •Как выполняются cgi-программы
- •17.Методы передачи данных. Интерфейс isapi.
- •Обзор архитектуры isapi
- •18.Использование методов post и get для передачи данных. Передаем данные формы (методы get и post)
- •Принимаем данные, переданные методом post
- •19.Обзор функциональности визуальных редакторов веб-страниц.
- •Рабочее пространство программы
- •20. Технология asp. Технология active server pages
- •Практика применения asp
- •21.Архитектура web-приложения asp.Net.
- •22.Создание простого web-приложения на с#. Создание простого, web-приложения на с#
- •Исходный файл * .Aspx
- •Файл web.Config
- •Исходный файл Global.Asax
- •23. Общие сведения о веб-страницах asp.Net.
- •24.Задачи, которые можно выполнить с помощью веб-страниц asp.Net.
- •25.Модель кода веб-страниц asp.Net. Однофайловые страницы.
- •Однофайловые страницы
- •Пример однофайловой модели страницы
- •Преимущества однофайловых страниц
- •26.Модель кода веб-страниц asp.Net. Страницы с выделенным кодом.
- •Страницы с выделенным кодом
- •Пример модели страницы с выделенным кодом
- •Преимущества страниц с выделенным кодом
- •27.Определение единого внешнего вида веб-узла.
- •28.Выбор типа проекта веб-узла.
- •29.Создание нового веб-узла asp.Net.
- •Создание веб-узла и страницы
- •30.Сценарий добавления страниц к веб-узлу.
- •Сценарий добавления страниц к веб-узлу
- •31.Добавление на страницу html-кода и выполнение страницы. Добавление на страницу html-кода
- •Выполнение страницы
- •Запуск страницы
- •32.Виды элементов управления WebForm. Базовые элементы управления WebForm
- •Элементы управления с дополнительными возможности
- •Элементы управления для проверки вводимых пользователем данных
- •33.Создание элементов управления WebForm.
- •34.Обработка событий посредством клиентских браузерных скриптов JavaScript.
- •35.Обработка и перехват событий на сервере.
- •36.Общие сведения о серверных элементах управления asp.Net.
- •37.Серверные html-элементы управления.
- •38.Серверные веб-элементы управления.
- •39.Принципы работы элементов управления WebForm.
- •40.Добавление базы данных в проект Visual Studio.
- •41.Подключение базы данных.
- •42.Создание таблиц в базе данных из Visual Studio.
- •43.Общие сведения о серверном веб-элементе управления SqlDataSource.
- •Базовые сведения
- •44.Подключение элемента управления SqlDataSource к источнику данных.
- •45.Создание команд данных с помощью элемента управления SqlDataSource.
- •46.Отображение данных на Веб-форме.
- •Примеры
16.Классическое cgi-программирование. Что такое cgi-программа
CGI-программа выполняется на Web-сервере в ответ на запрос, сделанный броузером. Сервер в этом случае является как бы посредником между броузером и CGI-программой – он передает программе запрос броузера и возвращает броузеру информацию, выданную программой. Например, программа может получить от броузера название некоторой книги и, посмотреть в таблице имя автора и вернуть полученное имя пользователю (броузеру). Для написания такой программы можно использовать любой язык программирования – CGI определяет только стандарт интерфейса между Web-сервером и программой, которую мы создаем. Проще перечислить, что не делает CGI-программа: не взаимодействует с пользователем на прямую, не выводит информацию в виде меню или приглашений, не выводит на экран графические изображения, вообще на экран ничего не выводит. Хотя такая программа может генерировать бинарные данные, в которых фактически содержится некоторый рисунок, непосредственным выводом рисунка программа не занимается, она не создает окон и никак не использует средства графического интерфейса пользователя.
Правильная CGI-программа должна удовлетворять следующим требованиям:
запускаться из командной строки;
генерировать правильный заголовок типа данных.
Программа может возвращать данные любого типа, например HTML-текст, рисунки в формате GIF, простой текст, документы Microsoft Word и пр. Заголовок типа возвращаемых данных сообщает броузеру о типе данных, для того чтобы обеспечить их правильную обработку. Если Web-сервер может запустить программу на выполнение и если программа возвращает правильные данные, она может быть использована в качестве CGI-программы.
Как уже говорилось выше, CGI – это стандарт, или набор правил, определяющих , как Web-сервер и внешняя по отношению к нему программа общаются между собой.
Работу CGI-программы можно разбить на три этапа: прием входных данных, выполнение инструкций, составляющих собственно алгоритм программы. и генерирование выходных данных. Алгоритм, составляющий саму программу, называется алгоритмом обработки данных.
Как выполняются cgi-программы
При поступлении запроса на CGI-программу возникает две задачи. Первая – это определить, что требуется выполнить именно CGI-программу, а вторая - это собственно ее выполнение. За первую задачу, за определение того, что выполнить, отвечает сервер, а за вторую – операционная система.
Есть несколько способов различать запрос на выполнение программы и на передачу статического файла. Первый, самый распространенный способ – использование каталога cgi-bin. Все файлы в этом каталоге рассматриваются как программы, и при запросе на такой файл сервер пытается такой файл выполнить. Второй способ состоит в том, что сервер различает простые файлы и программы по расширению.
Когда принято решение о том, что должна быть выполнена программа, вступает в действие операционная система. Она ведет себя так, как если бы имя программы было введено из программной строки.
Обмен данными по спецификации CGI реализуется обычно через переменные окружения и стандартный ввод/вывод. Выбор механизма передачи параметров определяется методом доступа, который указывается в форме в атрибуте METHOD. Если используется метод GET, то передача параметров происходит с помощью переменных окружения, которые сервер создает при запуске внешней программы. Через них передается приложению как служебная информация (версия программного обеспечения, доменное имя сервера и др.), так сами данные (в переменной QUERY_STRING). При методе POST для передачи используется стандартный ввод. А в переменных окружения фиксируется тип и длина передаваемой информации (CONTENT_TYPE и CONTENT_LENGTH). Для возврата данных серверу CGI-программа использует стандартный вывод. При этом вывод состоит из заголовка и собственно данных. Результат работы CGI-программы может передаваться клиенту без каких-либо преобразований со стороны сервера, если он обеспечивает построение полного HTTP-заголовка, в противном случае сервер модифицирует заголовок в соответствии со спецификацией HTTP. Обязательным для результатов вывода при генерировании документов "на лету", когда реального документа в файловой системе сервера не остается, является только HTTP-заголовок Content-type, в котором указывается тип возвращаемого документа для правильной интерпретации браузером. Обычно в Content-type указывают текстовые типы text/plain и text/html. При использовании такого вида скриптов следует учитывать, что не все серверы и клиенты отрабатывают так, как представляется разработчику. Так, при указании Content-type: text/html, некоторые клиенты не реализуют сканирования полученного текста на предмет наличия в нем встроенной графики.
При применение спецификации CGI для обмена данными с внешними прикладными программами можно выделить следующие преимущества:
прозрачность использования;
"языковая" независимость - CGI-программы могут быть написаны на любом языке программирования или командном языке, имеющим средства работы со строками;
процессная изолированность - при запуске CGI-програмы на сервере порождается отдельный процесс и ошибочный CGI-скрипт не может сломать Web-сервер или получить доступ к закрытой информации;
открытость стандарта - CGI интерфейс применим на каждом Web-сервере;
архитектурная независимость - CGI не зависит от особенностей реализации архитектуры сервера (однопоточности, многопоточности и т.д.);
Но CGI имеет также и существенные недостатки. Главная проблема заключается в затратах на выполнение CGI-приложений: поскольку на сервере для каждого очередного запроса порождается новый процесс, который завершается после его выполнения, то это приводит к невысокому быстродействию CGI-программы и снижает эффективность работы сервера. При использовании CGI-программ для доступа к базам данных из-за отсутствия поддержки непрерывного соединения Web-сервера и соответствующей СУБД очень сложно произвести процесс "ведения" пользователя базой данных, так как каждый раз при генерации очередного запроса требуется новое подключение. Но в то же время закрытие соединения после обработки каждого запроса сильно осложняет деятельность хакеров, так как при отсутствии постоянного подключения к БД проникнуть в нее гораздо сложнее. Другое достоинство этого "недостатка" состоит в том, что связь с Web-сервером устанавливается только на короткий промежуток времени, в результате чего он не перегружается и может выполнять другие задачи.