Автор: Пользователь скрыл имя, 23 Февраля 2013 в 00:36, курсовая работа
Первый в мире сайт info.cern.ch появился в 1990 году. Его создатель, Тим Бернерс-Ли, опубликовал на нём описание новой технологии World Wide Web, основанной на протоколе передачи данных HTTP, системе адресации URI и языке гипертекстовой разметки HTML. Сайт стал и первым в мире интернет-каталогом, так как позже Тим Бернерс-Ли разместил на нём список ссылок на другие сайты.Все инструменты, необходимые для работы первого сайта, Бернерс-Ли подготовил ещё раньше — в конце 1990 года появились первый гипертекстовый браузер WorldWideWeb с функционалом веб-редактора, первый сервер на базе NeXTcube и первые веб-страницы.«Отец» веба считал, что гипертекст может служить основой для сетей обмена данными, и ему удалось претворить свою идею в жизнь.
Введение 3
1. HTML 5
1.1.Структура HTML-документа 7
1.2. Варианты DOCTYPE для HTML 4.01 8
1.3. Варианты DOCTYPE для HTML 5 8
2. JavaScript 9
2.1. Предпосылки 9
2.2. Возможности языка 12
2.2.1 Структура языка 13
Ядро ECMAScript 14
2.2. Встраивание в веб-страницы 14
Расположение внутри страницы 14
2.3. Область применения Веб-приложения 16
2.4. Браузерные операционные системы WebOS 17
2.5. Виджеты 18
Элемент интерфейса 18
2.6. Офисные приложения 19
2.7. Библиотеки JavaScript 20
2.8. Связь с другими языками 22
Взаимное влияние 22
2.9. Безопасность 23
3. Perl 25
4. PHP 26
Заключение 28
Список литературы. 29
Blue Ridge, плагин к фреймворку веб-приложений Ruby on Rails, позволяет осуществлять модульное тестирование JavaScript-кода как в браузере, так и вне его. Это достигается за счёт использования фреймворка автоматизированного тестирования Screw.Unit и Rhino с env.js.
Главная проблема систем тестирования,
не использующих браузеры, в том, что
они используют эмуляции, а не реальные
окружения, в которых выполняется
код. Это приводит к тому, что успешное
прохождение тестов не гарантирует
того, что код корректно отработает
в браузере. Проблемой систем тестирования,
использующих браузер, является сложность
работы с ними, необходимость осуществления
рутинных неавтоматизированных действий.
Для решения этого JsTestDriver, фреймворк
автоматизированного
Негативное свойство, которым может обладать фреймворк автоматизированного тестирования JavaScript-кода — наличие зависимостей. Это создаёт риск отказа в работе тестируемого кода, успешно проходящего тесты, в среде с отсутствием этих зависимостей. Например, исходная версия JsUnitTest, фреймворка, созданного и использовавшегося для тестирования библиотеки Prototype, зависела от самой Prototype, изменяющего свойства объектов в глобальной области видимости. Включение в библиотеку JavaScript инструмента тестирования — распространённая практика. Так YUI Test 3 является частью Yahoo! UI Library и может быть безопасно использован для тестирования произвольного JavaScript-кода. QUnit — фреймворк автоматизированного тестирования, созданный разработчиками jQuery.
Стандартизация JavaScript потребовала уйти от проблем с торговыми марками, поэтому стандарт ECMA 262 называет язык ECMAScript, три редакции которого были опубликованы с начала работы над ним в ноябре 1996 года.
Objective-J — это строгое компактное надмножество JavaScript, в котором к JavaScript добавлено:
традиционное наследование,
динамическая диспетчеризация методов в стиле Smalltalk/Objective-C,
псевдостатичная типизация.
VBScript от Microsoft, подобно JavaScript, может выполняться на стороне клиента в веб-страницах. VBScript имеет синтаксис, производный от Visual Basic и поддерживается только в Internet Explorer.
JSON, или объектная нотация JavaScript, это формат обмена данными общего назначения, определённый как подмножество JavaScript.
Scheme также является родственным JavaScript языком, поскольку оба представляют богатые возможности функционального программирования: JavaScript является динамическим языком, поддерживает гибкие массивы, может легко симулировать s-выражения, имеет поддержку лямбда-выражений.
Взаимодействие
В некоторых языках программирования существуют средства поддержки взаимодействия с JavaScript-кодом.
Для PHP имеется пакет HTML_Javascript, предоставляющий интерфейс создания простых JavaScript-программ.
Соответствующий пакет для TCL называется :javascript. Он предоставляет команды генерации кода HTML и JavaScript.
Пакет для Perl Data::JavaScript позволяет переносить структуры данных Perl в JavaScript-код.
Поддержка браузерами
На сегодняшний день поддержку JavaScript обеспечивают современные версии всех наиболее часто используемых браузеров. В Internet Explorer, Mozilla Firefox, Safari, Google Chrome, Opera имеется полная поддержка третьей редакции ECMA-262. При этом в Mozilla Firefox предпринята попытка осуществления поддержки четвёртой редакции спецификации, а первым браузером, в котором появилась неполная поддержка спецификации 3.1, явился Internet Explorer 8.
Допущенные разработчиками популярных браузеров ошибки в реализации спецификации, как правило, незначительны. По состоянию на ноябрь 2009 года объектная модель документа имеет более ограниченную поддержку.
По мнению создателя языка, поддержка в Internet Explorer компанией Microsoft одного из существующих и применяющихся в других браузерах быстрых движков JavaScript способно привести к появлению приложений, работающих с трёхмерной графикой, написанных на JavaScript 3D-игр, использованию JavaScript в задачах, в которых ранее применялась технология Adobe Flash.
JavaScript позволяет потенциальным
авторам вредоносного кода
JavaScript-программы
для JavaScript-кода применяется политика общего происхождения, в соответствии с которой скрипт, встроенный в страницу, не может получить доступ к ряду свойств объектов другой страницы (в частности, к большинству свойств объекта document) при отличии в протоколе, хосте и номере порта этих страниц.
Помимо этого, разработчики браузеров вносят дополнительные ограничения в ответ на имеющие место злоупотребления. Так появился, в частности, запрет на открытие окна, размер одной стороны которого меньше ста пикселей.
Межсайтовые уязвимости
Общая проблема, касающаяся JavaScript — межсайтовый скриптинг или XSS, нарушение политики общего происхождения. Уязвимости XSS имеют место в ситуациях, когда злоумышленник имеет возможность поместить скрипт на страницу, демонстрирующуюся пользователю. В этом случае скрипт получает доступ к сайту с правами этого пользователя, что в ряде случаев открывает возможность отсылки конфиденциальной информации, осуществление нежелательных транзакций.
Уязвимости XSS также происходят из-за ошибок, допущенных разработчиками браузеров.
Другим типом межсайтовой
уязвимости является подделка межсайтовых
запросов или CSRF. Она заключается
в возможности сайта
Perl - это процедурный язык программирования -- универсальный инструмент для решения очень широкого круга задач. Perl не разрабатывался специально для Web-программирования. Perl, как и любой полноценный язык, имеет некоторое ядро - набор функций и правил, которые не зависят от платформы, операционной системы и прочих обстоятельств. Код Perl мобилен и переносим и везде одинаков. Различия дистрибутивов Perl схожих версий сводятся наличием установленных модулей. Perl предоставляет программисту ограниченный набор стандартных инструментов. Это дисциплинирует программиста и облегчает обмен кодом и опытом. При этом, программист совсем не скован и всегда может получить требуемые возможности, подключив соответствующий модуль. Perl является зрелым языком. Мало подвержен всяческим багфиксам и изменениям. Снабжен развитыми средствами разработки. Все "детские" ошибки Perl пережил еще более чем 10 лет назад. Perl обеспечивает более высокую производительность в веб-разработках, только если использовать не CGI-подход, а mod_perl. Большинство провайдеров не предоставят вам такой возможности. Perl представляет минимум функций в своем ядре. Чтобы расширить функционал языка требуется подключать дополнительные модули. Большинство других языков имеют гораздо больше встроенных функций. Perl имеет собственную систему документирования и снабжён прекрасной документацией на английском языке. Перегрузка операторов возможна, но является очень ограниченной и искусственной надстройкой. В Perl исключения можно эмулировать, при помощи таких модулей, как Error.pm и Exception.pm, не входящих в стандартную поставку. Они основаны на умелом использовании eval/die, но это весьма искусственный приём, который никак не может обеспечить требуемой гибкости современного объектно-ориентированного языка. В Perl все переменные глобальны, если не указано иное. Но чаще всего требуется именно иное. В Perl аргументы функций задаются в магическом массиве.
PHP псевдообъектный язык
программирование и изначально
предназначался для разработки Web-приложений.
Он пытается сочетать мощь
полноценного языка и
Заключение
В данной курсовой работе рассмотрены языки программирования (HTML,JavaScript,Perl,PHP) по web-разработке. Каждая из них актуальна и пользуется спросом как у программистов, так и простых людей не имеющих навыков в этой среде, но желающих саздать свой сайт.
С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.
JavaScript обычно используется
как встраиваемый язык для
программного доступа к
На JavaScript оказали влияние
многие языки, при разработке была цель
сделать язык похожим на Java, но при
этом лёгким для использования непрограммис
Perl - это процедурный язык программирования, универсальный инструмент для решения очень широкого круга задач. Perl предоставляет программисту ограниченный набор стандартных инструментов. Это дисциплинирует программиста и облегчает обмен кодом и опытом. При этом, программист совсем не скован и всегда может получить требуемые возможности, подключив соответствующий модуль.
PHP псевдообъектный язык программирование и изначально предназначался для разработки Web-приложений. При ведении именно Web-разработок, PHP обнаруживает ряд существенных преимуществ. Во-первых, интерпретатор PHP интегрируется в Web-сервер, что в разы увеличивает производительность. Во-вторых, Web-приложения на PHP проще отлаживать. Сообщения об ошибках часто выдаются клиенту, а не пишутся в error_log. В-третьих, PHP имеет широкий набор встроенных функций, для работы по протоколу HTTP
Итак, рассмотрев эти программы невольно приходишь к выводу, что каждая особенна по своему. И использовав, тот или иной язык, получаешь уникальный электронный сайт, созданный своими руками.