Разработка структуры вэб-представительства
Значение этого параметра используется в основном CGI-скриптами для формирования ответа, адаптированного для данного браузера.
Referer – URL, с которого перешли на этот ресурс.
Host – имя хоста, с которого запрашивается ресурс. Полезно, если на сервере имеется несколько виртуальных серверов под одним IP-адресом. В этом случае имя виртуального сервера определяется по этому полю.
Accep
t-Language – поддерживаемый язык. Имеет значение для сервера, который может выдавать один и тот же документ в разных языковых версиях.
Формат HTTP-ответа
Формат ответа очень похож на формат запроса: он также имеет заголовок и тело, разделенное пустой строкой.
Заголовок также состоит из основной строки и строк параметров, но формат основной строки отличается от таковой в заголовке запроса.
Основная строка запроса состоит из 3-х полей, разделенных пробелами:
Версия протокола – аналогичен соответствующему параметру запроса.
Код ошибки – кодовое обозначение «успешности» выполнения запроса. Код 200 означает «все нормально» (OK).
Словесное описание ошибки – «расшифровка» предыдущего кода. Например для 200 это OK, для 500 – Internal Server Error.
Наиболее употребительные параметры http-ответа:
Connection – аналогичен соответствующему параметру запроса.
Если сервер не поддерживает Keep-Alive (есть и такие), то значение Connection в ответе всегда close.
В зависимости от значения Content-Type браузер воспринимает ответ как HTML-страницу, картинку gif или jpeg, как файл, который надо сохранить на диске, или как что-либо еще и предпринимает соответствующие действия. Значение Content-Type для браузера аналогично значению расширения файла для Windows.
Некоторые типы содержимого:
text/html – текст в формате HTML (веб-страница);
text/plain – простой текст (аналогичен «блокнотовскому»);
image/jpeg – картинка в формате JPEG;
image/gif – то же, в формате GIF;
application/octet-stream – поток «октетов» (т.е. просто байт) для записи на диск.
На самом деле типов содержимого гораздо больше.
Content-Length («длина содержимого») – длина содержимого ответа в байтах.
Last-Modified («Модифицирован в последний раз») – дата последнего изменения документа.
Прямая работа с HTTP не является необходимостью в рамках задачи по построению сайта, однако необходимо знать основы работы с этим протоколом.
Работа с административной подсистемой заключается только в обращении администратора к пользовательскому интерфейсу. Соединения с базой данных являются стандартными.NET-компонентами и не требуют вмешательства извне.
Все производимые администратором изменения должны немедленно отображаться, что также является задачей пользовательского интерфейса.
1.2.2 Выбор платформы проектирования и его обоснование
В качестве языка разработки для веб-представительства был выбран C# и технология Microsoft ASP.NET 2.0. На это повлияло несколько факторов, решающими из которых явились:
– наличие большого опыта работы с.NET-технологиями;
– возможность написания одних компонентов доступа как для веб-приложения, так и для административной подсистемы;
– существование ранее написанных мной универсальных компонентов, позволяющих облегчить создание интерфейса администратора.
Прочие преимущества ASP.NET 2.0, применяемые в работе, можно увидеть на рисунке.
Таблица 1. Выбор платформы проектирования
В качестве платформы проектирования была выбрана MS Visual Studio 2005, позволяющая полностью реализовать все возможности технологии и распространяемая бесплатно для студентов ВУЗов.
Ниже приводится подробный список основных технологий, использованных при работе над сайтом с обоснованием их выбора.
1. Язык высокого уровня MicrosoftC# 2.0
Это – основа приложений на.NET. Впрочем, этой основой может быть и любой другой язык, для которого существует.NET-совместимый компилятор. Преимущества С# очевидны (и, надо сказать, во многом заимствованы из Java)
1) Абсолютная объектная ориентированность. Любая сущность является объектом, будь то целочисленная переменная или объект класса. Полную объектную ориентированность можно считать не только плюсом, а единственным вариантом структуры достаточно сложной системы. Мышление человека (программиста) оперирует объектами, и действие без производящего его объекта, каковым является в описании, скажем, на С, отдельная функция, является вещью труднопонимаемой, с чем приходится сталкиваться в процессе изучения этого языка программирования.
2) Наличие готовых библиотек классов. Всем приходилось писать связные списки, все придумывали свои классы для работы со строками и файлами. Каждый программист, на чью долю выпадала эта задача, знает, что в итоге исходные коды «хороших» классов перетягиваются из проекта в проект и прочно приживаются в них так же, как и разные <stdlib> и <vector> из стандартного набора С++. Одной из причин успеха.NET и послужило то, что нам более нет необходимости продумывать детали работы таких вспомогательных и часто используемых классов. Библиотека, идущая вместе с.NET Framework, предоставляет стандартные классы для работы с коллекциями, строками, файлами и т.п. Опять же, мы думаем над тем, что именно пишем, а не как это делаем, откуда имеем повышение производительности и надёжности.
3) Отсутствие неясностей. Указатели, явное выделение, и, главное, освобождение памяти, конструкторы копирования, множественное наследование, ссылочная передача параметров, различные cast-ы затемняют язык и заставляют программиста думать на более низком уровне
С++ – отличный язык, позволяющий освоить системное программирование и понять многие вещи, но это не лучший выбор именно для написания надёжных приложений. В С# убрано большинство спецсимволов и многие вещи стандартизированы так, что даже не зная точно, по логике языка можно догадаться, как всё должно работать. Это основные, но вполне весомые доводы за С#.
2. ASP.NET 2.0
Преимуществами ASP.NЕT 2.0 являются объектная модель страницы, позволяющая реализацию таких паттернов как MVP, наличие удобной среды разработки и большого числа готовых компонентов.
3. NHibernate
ORM (Object-relational mapping) – отображение структуры базы данных на набор связанных объектов в приложении. Дело в том, что смесь кода на языке высокого уровня с SQL-вставками, плохо читается, не говоря уже о возможностях SQL-инъекций и появлению «magic numbers».
Тот, кто работал с базами данных в Java, наверняка слышал о Hibernate. Так вот, NHibernate – это порт Hibernate на.NET. Это не разработка Microsoft, которая сейчас активно двигает LINQ, а бесплатный продукт. NHibernate посвящена отдельная глава.
4. JavaScript
Никому не хочется ждать, пока страница отправится на сервер только для того, чтобы содержимое текстового поля заполнилось содержимым другого элемента управления. Всем хочется видеть анимацию, а не статичные картинки на сайте. Для всего этого и предназначен JavaScript, ставший стандартом для осуществления клиентской логики веб-приложения.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
- Видеоадаптер EGA, VGA
- Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL
- Инновационные методы управления вторичными продажами
- Оптимизация многомерной нелинейной функции. Слепой поиск
- Проектирование базы данных для учета занятий и соревнований по художественной гимнастике
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности