«Омский Государственный Колледж Управления и Профессиональных Технологий»
Учебное пособие: «ПО КС и web-серверов»

Выполнил: Студент группы ТО-31
Панечкин А.Е.
Руководитель:
Шойко А.З.


Лекция 18. Веб-серверы. Терминология.Основные понятия

Терминология подлежит стандартизации так же, как любые другие объекты, используемые в человеческой деятельности.

Терминологию по теме «Веб серверы» начнем со следующих определений:

Определение

Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Веб-серверы — основа Всемирной паутины.

Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает.


Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса.

Дополнительными функциями многих веб-серверов являются:

  • ведение журнала обращений пользователей к ресурсам;
  • аутентификация пользователей;
  • поддержка динамически генерируемых страниц;
  • поддержка HTTPS для защищённых соединений с клиентами.

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 % рынка, являются:

• Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС
• IIS от компании Microsoft, распространяется с ОС семейства Windows NT

В качестве клиентов для обращения к веб-серверам могут использоваться совершенно различные устройства:

  • Веб-браузер — самый распространенный способ
  • Специальное программное обеспечение может самостоятельно обращаться к веб-серверам для получения обновлений или другой информации
  • Мобильный телефон может получить доступ к ресурсам веб-сервера при помощи протокола WAP
  • Другие интеллектуальные устройства или бытовая техника

Определение

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, и передаваемых с помощью интернет-протоколов.

Используемые стандарты:

  • XML: Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных;
  • SOAP: Протокол обмена сообщениями на базе XML;
  • WSDL: Язык описания внешних интерфейсов веб-службы на базе XML;
  • UDDI: Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description, and Integration). Каталог веб-служб и сведений о компаниях, предоставляющих веб-службы во всеобщее пользование или конкретным компаниям.

Достоинства веб-служб:

  • Веб-службы обеспечивают взаимодействие программных систем независимо от платформы;
  • Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию XML достигается простота разработки и отладки веб-служб;
  • Использование интернет-протокола HTTP обеспечивает взаимодействие программных систем через межсетевой экран

Недостатки веб-служб

Меньшая производительность и больший размер сетевого трафика по сравнению с технологиями RMI, CORBA, DCOM за счет использования текстовых XML-сообщений

Платформы

Веб сервисы развертываются на серверах приложений. Несколько серверов приложений:

  • Axis и Tomcat (оба являются проектами Apache).
  • Mono development platform от Novell
  • Microsoft .NET серверы от Microsoft
  • Java Web Services Development Pack (JWSDP) от Sun Microsystems (основан на Jakarta Tomcat)
  • Zope является объектно ориентированным web application server написанным на Python
  • WebSphere Application Server от IBM (основан на Apache и платформе J2EE)
  • ColdFusion от Macromedia
  • Cordys WS-AppServer
  • infoRouter Document Management software Web Services API
  • DotGnu от GNU Project
  • JOnAS (является частью ObjectWeb Open Source initiative)
  • WebLogic от BEA Systems
  • Web Application Server от SAP (Web AS является ключевой частью стека SAP NetWeaver)
  • Pramati Application Server от Pramati Technologies Limited
  • OpenEdge Platform от Progress Software
  • Oracle Application Server от Oracle Corporation
  • Zend Framework — open source от Zend Technologies

Веб-приложение — приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Браузер может являться реализацией так называемых тонких клиентов. Браузер способен отображать веб-страницы и, как правило, входит в состав операционной системы, а функции его обновления и сопровождения лежат на поставщике операционной системы. Логика приложения сосредотачивается на сервере, а функция браузера заключается в основном в отображении информации, загруженной по сети с сервера, и передаче обратно данных пользователя. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, и веб-приложения, таким образом, являются межплатформенными сервисами. По причине этой универсальности и относительной простоты разработки веб-приложения стали широко популярными в конце 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 страницы веб-приложения не перезагружаются целиком, а лишь догружают необходимые данные с сервера, что делает их более интерактивными и производительными.

Для создания веб-приложений используются разнообразные технологии и языки программирования, например:

  • PHP
  • ASP
  • ASP.NET
  • JSP
  • Java
  • CGI
  • Perl
  • Python
  • Ruby on Rails
и другие. Ряд из них (PHP, Perl, Python) имеют открытый код, распространяются свободно и могут использоваться практически на любых веб-серверах, другие (ASP, ASP.NET, Java) — привязаны к конкретным веб-серверам.

В начало страницы

Copyright ОГКУиПТ© by Deadhummer