Выполнил: Студент группы ТО-31
Панечкин А.Е.
Руководитель:
Шойко А.З.
Лекция 18. Веб-серверы. Терминология.Основные понятияТерминология подлежит стандартизации так же, как любые другие объекты, используемые в человеческой деятельности. Терминологию по теме «Веб серверы» начнем со следующих определений: ![]() ОпределениеВеб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы — основа Всемирной паутины. Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает. Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса. Дополнительными функциями многих веб-серверов являются:
HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных. В отличие от HTTP, для HTTPS по умолчанию используется TCP порт 443 (для незащищенного HTTP — 80). Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечть аутентификацию и защищенное соединение. HTTPS широко используется в мире Веб для приложений, в которых важна безопасность соединения, например, в платежных системах. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения В настоящее время HTTPS поддерживается наиболее популярными браузерами. Вообще https не явлется отдельным протоколом. По сути это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения — т. н. man-in-the-middle (например, от снифферских атак). Недостатком использования HTTPS является длина ключа - всего 40, 56, или 128 бит. По мнению большинства специалистов по информационной безопасности, сегодня надежной длиной ключа может быть длина, сравнимая с 1024 бит. Поэтому длина ключа даже в максимальные 128 бит HTTPS явно недостаточна. Кроме того, большинство браузеров использует длину ключа 40 бит(пример тому — IE). Это связано с экспортными ограничениями в США. И, следовательно, не следует считать, что HTTPS обеспечивает достойный уровень шифрования. Но такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации. На сегодня двумя наиболее распространёнными веб-серверами, вместе занимающими около 90 % рынка, являются: В качестве клиентов для обращения к веб-серверам могут использоваться совершенно различные устройства:
![]() ОпределениеWAP (англ. Wireless Application Protocol) - «протокол беспроводного доступа» - это средство получения доступа к ресурсам интернет посредством только мобильного телефона, не прибегая к помощи компьютера и/или модема. По сути это технический стандарт, описывающий способ, с помощью которого информация из интернета передается на дисплей мобильного телефона. Теоретически, если бы экран мобильного телефона смог отобразить то многообразие информации, что и дисплей компьютера, то WAP ничем не отличался бы от отображения обычных WEB-страниц. Но так как разрешение экрана дисплея мобильного телефона невелико, отображение WAP-сайтов отличается недостаточной графикой и анимацией, а объем информации сведен к необходимому минимуму Свободное программное обеспечение — программное обеспечение, в отношении которого пользователь обладает «четырьмя свободами»: запускать, изучать, распространять и улучшать программу . По нынешнему законодательству большинства стран, программный продукт и его исходный код по умолчанию охраняется авторским правом, которое даёт автору (или другому правообладателю, в частности организации-нанимателю — для служебных произведений или наследникам — для умерших авторов) полную власть над распространением и изменением программы, даже в случае, когда исходный код общедоступен для обозрения. Чтобы программное обеспечение стало «свободным», его правообладатели должны дать пользователю все четыре вышеперечисленные свободы действий. Это достигается выпуском исходного кода программного обеспечения под одной из особого рода лицензий, называемых свободными лицензиями. При этом автор программы сохраняет свои авторские права. Подавляющее большинство открытых программ является одновременно и свободными и наоборот, поскольку определения открытого и свободного программного обеспечения близки. ![]() ОпределениеSGML (англ. Standard Generalized Markup Language — стандартный общий язык разметки документов. Изначально SGML был разработан для совместного использования машинно-читаемых документов в больших правительственных и аэрокосмических проектах. Он широко использовался в печатной и издательской сфере, но его сложность затруднила его широкое распространения для повседневного использования. SGML стандартизован ISO: «ISO 8879:1986 Information processing—Text and office systems—Standard Generalized Markup Language (SGML)» HTML и XML произошли от SGML. HTML это приложение SGML, а XML это подмножество SGML, разработанное для упрощения процесса машинного разбора документа. Другими приложениями SGML является SGML Docbook (документирование), и «Z Format» (типографика и документирование). CGI также может означать «Computer generated imagery» — компьютерные спецэффекты. ![]() ОпределениеCGI (от англ. Common Gateway Interface — «общий интерфейс шлюза») — стандарт интерфейса, служащего для связи внешней программы с веб-сервером. Программу, которая работает по такому интерфейсу совместно с веб-сервером, принято называть шлюзом, хотя многие предпочитают названия скрипт (сценарий) или CGI-программа. Сам интерфейс разработан таким образом, чтобы можно было использовать любой язык программирования, который может работать со стандартными устройствами ввода/вывода. Такими возможностями обладают даже скрипты для встроенных командных интерпретаторов операционных систем, поэтому в тех случаях, когда нет нужды в сложной функциональности, могут использоваться даже такие простые командные скрипты. Все скрипты, как правило, помещают в каталог cgi-bin сервера, но это необязательно: скрипт может располагаться где угодно, но при этом большинство веб-серверов требуют специальной настройки. В веб-сервере Apache, например, такая настройка может производится при помощи общего файла настроек httpd.conf или с помощью файла .htaccess в том каталоге, где содержится этот скрипт. Также Apache позволяет запускать все скрипты, имеющие расширение .cgi. CGI является одним из наиболее распространённых средств создания динамических веб-страниц. Веб-служба, веб-сервис (англ. web service) — программная система, идентифицируемая строкой URI, чьи общедоступные интерфейсы определены на языке XML. Описание этой программной системы может быть найдено другими программными системами, которые могут взаимодействовать с ней согласно этому описанию посредством сообщений, основанных на XML, и передаваемых с помощью интернет-протоколов. Используемые стандарты:
Достоинства веб-служб:
Недостатки веб-службМеньшая производительность и больший размер сетевого трафика по сравнению с технологиями RMI, CORBA, DCOM за счет использования текстовых XML-сообщений ПлатформыВеб сервисы развертываются на серверах приложений. Несколько серверов приложений:
Веб-приложение — приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Браузер может являться реализацией так называемых тонких клиентов. Браузер способен отображать веб-страницы и, как правило, входит в состав операционной системы, а функции его обновления и сопровождения лежат на поставщике операционной системы. Логика приложения сосредотачивается на сервере, а функция браузера заключается в основном в отображении информации, загруженной по сети с сервера, и передаче обратно данных пользователя. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, и веб-приложения, таким образом, являются межплатформенными сервисами. По причине этой универсальности и относительной простоты разработки веб-приложения стали широко популярными в конце 1990-х — начале 2000-х годов. Существенным преимуществом построения Web приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться, независимо от операционной системы данного клиента. Вместо того, чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз и разворачивается на любой платформе. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может вызвать проблемы при разработке веб-приложений и последующей поддержки. Кроме того, возможность пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение поддержки сценариев) может препятствовать корректной работе приложения. Другой (менее универсальный) подход заключается в использовании Adobe Flash или Java апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с большей легкостью. Потому что они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java или Flash реализациями на стороне клиента могут приводить к различным осложнениям. В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде "толстыми" клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин "Богатое Интернет приложение" (англ. Rich Internet Application). Устройство веб-приложенийВеб-приложение получает запрос от клиента и выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP. Само веб-приложение может выступать в качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на другом сервере. Ярким примером веб-приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей. В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax. При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными. Для создания веб-приложений используются разнообразные технологии и языки программирования, например:
|