Автор работы: Пользователь скрыл имя, 17 Октября 2011 в 06:55, лабораторная работа
В практикуме рассматривается служба Интернета WWW (World Wide Web — Всемирная паутина), которая управляет передачей гипертекстовых страниц и регламентируется протоколом HTTP (Hyper Text Transfer Protocol).
В практикуме рассматривается служба Интернета WWW (World Wide Web — Всемирная паутина), которая управляет передачей гипертекстовых страниц и регламентируется протоколом HTTP (Hyper Text Transfer Protocol). На компьютере-сервере, поддерживающем эту службу, должна быть установлена программа, которая также называется Web-сервером (кратко — сервером). В специальной папке компьютера-сервера хранятся Web-страницы, которые могут быть запрошены с компьютера-клиента общеизвестными способами (например, набором имени страницы в адресной строке браузера или активизацией гиперссылки).
Web-страницы
могут быть двух видов:
Серверное приложение может быть программой на алгоритмическом языке, или текстом на языке HTML, в который включены фрагменты (называемые сценариями или скриптами) на алгоритмическом языке. Обработка серверного приложения Web-сервером представляет собой трансляцию серверного приложения в HTML-текст. В процессе трансляции могут быть использованы данные из запроса клиента; например, сведения компьютере или браузере клиента, а также данные, посылаемые клиентом в соответствии с решаемой задачей. Эти данные могут существенно повлиять на вид ответной Web-страницы. Таким образом, серверные приложения представляют собой динамические, интерактивные Web-страницы, формируемые на сервере.
Трансляцию серверных приложений осуществляет специальный программный модуль, входящий в состав Web-сервера или подключенный к нему. Такой модуль, включенный в IIS-сервер и осуществляющий трансляцию asp-приложений, называется Script host.
Заметим, что существуют технологии формирования интерактивных Web-страниц на компьютере-клиенте с помощью браузера. Настоящий практикум посвящен именно серверным приложениям.
Основным способом передачи данных от клиента к серверу является использованием HTML-форм. Формы содержат интерфейсные элементы (элементы управления). Примеров таких элементов могут быть текстовые окна для ввода данных, списки (селекторы) для выбора значений, флажки, радиокнопки. Предполагается, что читатель знаком с кодированием этих элементов на языке HTML. С каждым элементом формы связаны имя (атрибут элемента NAME) и значение (как правило, атрибут VALUE). Для передачи данных на сервер форма обязательно должна содержать элемент управления submit. Этот элемент представляет собой кнопку, при нажатии которой данные формы автоматически включаются в запрос и запрос отправляется на сервер.
При
использовании формы для
Атрибут METHOD определяет метод передачи данных от клиента к серверу. В нашем практикуме мы будем рассматривать два метода — GET и POST. Метод GET обеспечивает присоединение данных формы к URL серверного приложения через знак вопроса (?), и расширенный таким образом URL, как уже было сказано выше, при нажатии кнопки submit включается в стартовую строку запроса. Метод POST означает, что данные формы включаются в тело запроса. Для обоих методов включаемые в запрос данные имеют вид: имя элемента формы = значение элемента. Такие пары вида имя = значение отделяются друг от друга символом «&». Отметим, что все символы, входящие в имя и значение, кроме латинских букв и пробела, при включении в запрос автоматически заменяются своим шестнадцатеричным кодом, перед которым ставится символ «%». Латинские буквы не подлежат перекодировке, а пробел заменяется символом «+».
Сравним два рассмотренных метода передачи данных. Метод POST меньше, чем GET, ограничивает объем передаваемых данных и предпочтительней с точки зрения безопасности (так как данные нельзя прочитать в адресной строке браузера). Однако, используя GET, можно не только передавать данные полей формы, но и «вручную» присоединить данные к URL (после символа «?»), например, при запросе страницы из адресной строки браузера или в гиперссылке.
Файл asp-приложения обязательно имеет расширение .asp. Он содержит текст на языке HTML, в который вставлены сценарии на алгоритмическом языке. Сценарий ограничен парами символов «<%» и «%>», первая пара играет роль открывающей, а вторая — закрывающей скобки. Существуют другие способы ограничения сценариев, они будут рассмотрены позже. Алгоритмический язык сценариев указывается в инструкции <%@ Language = язык%>. Эта инструкция располагается в первой строке файла и относится ко всем включенным в него сценариям. Стандартным языком сценариев является VBScript; при его использовании указанная инструкция может быть упущена. Код, полученный в результате интерпретации сценария, вставляется на место сценария в HTML-файле. Конструкции языка VBScript, используемые в данном пособии, приведены в Приложении 1.
ASP-технология предоставляет широкий спектр возможностей для извлечения данных из запроса, поступившего на сервер, и формирования ответной Web-страницы. Основные возможности будут рассмотрены в настоящем пособии. При создании ответной Web-страницы очень часто используется оператор Response.Write, который выводит строку символов в формируемый HTML-текст. Отметим, что Response — это объект, содержащий основные средства формирования динамической Web-страницы, а Write — метод этого объекта. Приведенное ниже простейшее приложение выводит фразу «HELLO!» в окно браузера:
<%@ Language = VBScript%>.
<HTML>
<HEAD> <TITLE> Первый пример</TITLE> </HEAD>
<BODY>
<% Response.Write “HELLO!” %>
</BODY>
</HTML>
Если сценарий состоит из вывода одной строки, то его можно сделать еще короче, заменив оператор Response.Write символом «=». Так, сценарий в приведенном выше примере можно заменить следующим: <% = “HELLO!” %>.
Рассмотрим приложение, которое выводит в окно браузера время формирования ответной Web-страницы (Time — встроенная функция VBScript):
<HTML>
<HEAD> <TITLE> Узнай время</TITLE> </HEAD>
<BODY>
Точное время на стороне
</BODY>
</HTML>
Обратите внимание, что для вызова серверного приложения надо обязательно сформировать запрос от клиента к серверу, даже если вы работаете в отладочном режиме «обратной петли», и Ваш компьютер является одновременно и сервером, и клиентом. Например, можно набрать адрес серверного приложения в окне браузера. Серверные приложения нельзя вызывать, как обычные приложения, двойным кликом на пиктограмме в окне папок Проводник или Мой компьютер.
Рассмотрим
простые примеры asp-
<HTML>
<HEAD><TITLE> Ввод значений a и b для передачи на сервер</TITLE>
</HEAD>
<BODY>
<FORM ACTION="concat.asp" METHOD=POST NAME="forma">
Первое значение <input type="text" name="a" value=""> <br>
Второе значение <input type="text" name="b" value=""> <br>
<input type="submit" name="plus" value="результат">
</FORM>
</BODY>
</HTML>
Обратите внимание, что этот файл не является asp-приложением, о чем говорит и его расширение. В теге <FORM> указано имя серверного приложения (concat.asp) для обработки этих строк. Это приложение осуществляет конкатенацию (сцепление) полученных строк и формирует ответную Web-страницу, содержащую поля редактирования с исходными значениями строк и результатом сцепления. Содержание файла concat.asp:
<HTML>
<HEAD> <TITLE> Результат конкатенации<TITLE > </HEAD >
<BODY>
<%
a=Request("a") ‘в переменную a считывается строка из элемента a
b=Request("b") ‘в переменную b считывается строка из элемента b
c=a+b ‘ c принимает значение результата сцепления a и b
‘ ниже в поля редактирования выводятся значения a, b, c
%>
<FORM>
Первое слагаемое <input type="text" value=<% Response.Write a %> > <br>
Второе слагаемое <input type="text" value=<% Response.Write b %> > <br>
Сумма <input type="text" value=<% Response.Write c %> > <br>
</FORM>
</BODY>
</HTML>
Заметим, что оператор имя=Request("имя") извлекает значение данного из запроса. Имя в правой части оператора (в данной ситуации кавычки обязательны!) — это имя элементы формы, значение которого передано в запросе; имя в левой части — это имя ячейки оперативной памяти сервера. Естественно, имена в левой и правой частях могут не совпадать. При выборе одинаковых имен легче читается программный код.
Операция «+» в языке VBScript (как, например, и в языке Pascal) выполняется в зависимости от контекста: над строками как конкатенация, над числами как сложение. Если в файле concat.asp оператор c=a+b заменить оператором c=CDbl(a)+ CDbl(b), то с будет не результатом сцепления строк, а суммой чисел a и b, так как CDbl — это функция преобразования данного в вещественное число. Если, кроме того, в сценарии <% Response.Write c %> c изменить на CStr(c), то серверное приложение будет выводить сумму двух чисел (CStr — функция преобразования в строку).
IIS-сервер – серверный программный комплекс, входящий в состав операционной системы Windows (начиная с Windows 2000). В этот комплекс входит Web-сервер и ASP-технология подготовки серверных приложений.
Информация о работе Установка, настройка и тестирование IIS-сервера