Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_7.docx
Скачиваний:
2
Добавлен:
19.11.2019
Размер:
349.83 Кб
Скачать

Лекція №7

Тема 4. Протоколи прикладного рівня

Введение 1

4.1 Протокол передачі гіпертекстових ресурсів HTTP 6

4.2 Протокол передачі файлів FTP 27

4.1 Протокол HTTP

Введение

В сети Интернет существует несколько сервисов или служб (E-mail, USENET, TELNET, WWW, FTP и др.), но наиболее популярной службой является WWW.

Услуги WWW построены по принципу клиент-сервер. При этом на сервере и на клиенте должно быть установлено дополнительное программное обеспечениеВеб-сервер и Веб-клиентское приложение (обозреватель) соответственно. Доступ к Веб-серверу осуществляется клиентскими приложениями или браузерами. Основной объем информационных ресурсов в виде веб-страниц или файлов находится на веб-сайтах, размещенных на Web-серверах (точнее на хостингах) сети Интернет.

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

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

Практически все серверы (компьютеры), подключенные к Интернету, работают под управлением всего двух семейств операционных систем. Это:

  • Unix-системы, включая Linux, BSD/OS Family, Solaris/SunOS и пр. (74% серверов);

  • Microsoft Windows Server (26% серверов).

Необходимо отметить, что не имеют особого значения различия между системами семейства Unix, поэтому в дальнейшем мы можем ограничиться рассмотрением двух операционных систем: Unix и Windows NT.

К веб-серверам (программам), предназначенным в первую очередь для работы с протоколом HTTP, относятся: Apache и IIS (Internet Information Services, до версии 5.1 — Internet Information Server).

На август 2011 года наиболее распространённым веб-сервером (программой), занимающим более 65% рынка, является Apache — свободный веб-сервер, наиболее часто используемый в UNIX-подобных операционных системах;

Некоторые другие известные веб-серверы (программы):

  • Iis от компании Microsoft, распространяемый с серверными ос семейства Windows – 24% рынка;

  • Nginx — свободный веб-сервер, разрабатываемый Игорем Сысоевым с 2002 года и пользующийся большой популярностью на крупных сайтах;

  • lighttpd - свободный веб-сервер;

  • Google Web Server — веб-сервер, разработанный компанией Google;

  • Resin — свободный веб-сервер приложений;

  • Cherokee — свободный веб-сервер, управляемый только через web-интерфейс;

  • Rootage — веб-сервер, написанный на java;

  • THTTPD — простой, маленький, быстрый и безопасный веб-сервер.

Web-сервер не приспособлен обрабатывать данные, отправленные ему пользователем. Его задача: прием от Web-обозревателя запроса на файлы (Web-страницы, таблицы стилей, графические изображения, фильмы, звуки, архивы, исполняемые файлы и т. п.), поиск этих самых файлов на жестких дисках серверного компьютера и отправка найденных файлов назад Web-обозревателю.

Необходимо отметить, что запросы посетителя обрабатываются не самим Web-сервером. Для этого применяются специальные программы, работающие вместе с Web-сервером на том же серверном компьютере. Они называются серверными программами, они не имеют интерфейса пользователя и "общаются" только с Web-сервером, принимают от него введенные пользователем данные и возвращают ему результат.

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

Результат, возвращаемый серверной программой Web-серверу, — это не что иное, как обычный HTML-код, который передается Web- клиенту по протоколу HTTP.

На рисунке 7.1 представлены Веб-серверы сети Интернет.

Рис. 7.1

Web-клиенты

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

  • веб-браузер, работающий на настольном компьютере или переносном устройстве (например, карманном ПК);

  • разнообразные программы, самостоятельно обращающиеся к веб-серверам для получения обновлений или другой информации (например, антивирус может периодически запрашивать у определённого веб-сервера обновления своих баз данных);

  • мобильный телефон, получающий доступ к ресурсам веб-сервера при помощи протокола WAP;

  • другие цифровые устройства или бытовая техника.

Самыми распространенными (с большим отрывом от остальных) сегодня являются язык программирования PHP и ASP.Net-технология для создания динамических веб-страниц на основе сценариев. Java и Perl уступают по популярности, но являются распространенными языками создания веб-сайтов.

Среды разработки

PHP

Под язык PHP существует множество сред разработки: родная Zend Studio, версия Eclipse для PHP, плагин под Visual Studio и т.п. Все они являются довольно развитыми средами с поддержкой множества современных возможностей сред разработки.

ASP.Net

Основной продукт, который используется для разработки веб-приложений на ASP.Net – это Microsoft Visual Studio. Платформа .NET (dot net) и язык программирования C# - мощный тандем для разработки веб-приложений.

Как правило, динамические сайты требуют наличия базы данных. Самые распространённые - MySQL, MS SQL и Oracle. Под MySQL понимается собственно MySQL и множество независимых ответвлений - PostgreSQL, Interbase и т.д.

Как правило, PHP используется в связке с MySQL и Apache, а веб-приложения на базе технологии ASP.Net используют MS SQL Server и Internet Information Services (IIS).

Платформа хостинга - это среда выполнения платформы разработки - состоит из операционной системы и веб-сервера.

Сайты, разработанные на всех платформах, могут работать под операционной системой Windows, но сайты, разработанные на платформе Microsoft (ASP/ASP.Net + MS SQL) не могут работать под Unix-системами. Для сайта, созданного с помощью ASP.NET, операционная система Windows – единственное решение.

Поэтому обычно сайты, написанные на PHP, Java или Perl используют сервер Apache и размещаются на Unix-серверах (UNIX-хостингах) или, а сайты на платформе Microsoft - на Windows-серверах (WINDOWS-хостингах). Это стоит учесть ещё при выборе разработчика и заранее выяснить возможные варианты хостинга. Хостинг (англ. hosting) - это услуга по предоставлению жесткого диска для физического размещения сайта пользователя на веб-сервере.

Необходимо отметить, что на сегодняшний день Windows-хостинг (ASP хостинг) позволит использовать не только технологии Microsoft - ASP.NET и базы данных MS SQL, но и популярные PHP, Perl и MySQL.

Internet Information Services

IIS (Internet Information Services - Информационные службы Интернета, до версии 5.1 — Internet Information Server) — проприетарный (проприетарный или открытый) набор серверов для нескольких служб Интернета от компании Майкрософт. IIS распространяется с операционными системами семейства Windows.

Основным компонентом IIS является веб-сервер, который позволяет размещать в Интернете сайты. IIS поддерживает протоколы HTTP, HTTPS, FTP, POP3, SMTP, NNTP. По данным компании Netcraft на январь 2011 года, более 57 млн сайтов обслуживаются веб-сервером IIS, что составляет 21% от общего числа веб-сайтов.

Современный IIS7

Компонент серверной операционной системы Microsoft Windows Server 2008 под названием Internet Information Services (IIS7) выполняет роль веб-сервера и позволяет обрабатывать запросы к веб-приложениям, выполняющимся на нем.

Веб-сервер позволяет выполнять веб-приложения, написанные с использованием таких технологий, как ASP.NET, ASP и PHP (поддержка PHP осуществляется с помощью технологии FastCGI for PHP) на языках программирования C/C++, C#, VB.NET, Ruby, Python и т.п. Таким образом, Web-сервер поддерживает основные технологии создания Web-приложений, присутствующие на рынке.

IIS7 отличается модульной архитектурой, что обеспечивает сервер большей гибкостью при обработке запросов и позволяет, при необходимости, расширять его функциональность путем добавления, замены отдельных модулей или отключения модулей, не используемых в обработке запросов. IIS7 обеспечивает:

  • Более простое развертывание и управление веб-приложениями

  • Повышение надежности и масштабируемости

  • Расширенную безопасность для веб-приложений

  • Улучшенные механизмы передачи файлов

  • Возможность расширения функциональности веб-приложений

  • Улучшенную доступность и производительность веб-приложений и сервисов.

HTTP

HTTP (сокр. от англ. Hyper Text Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Протокол HTTP – это сеансовый протокол, работающий по принципу запрос-ответ.

Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. Протокол HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов.

HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное.

HTTP — протокол прикладного уровня, аналогичными ему являются FTP и SMTP. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]