- •Iis от компании Microsoft, распространяемый с серверными ос семейства Windows – 24% рынка;
- •Итак, базовым протоколом сети гипертекстовых ресурсов является протокол http. В его основу положено взаимодействие «клиент-сервер», то есть предполагается, что:
- •(Версия_протокола - Код_ответа - Пояснительное_сообщение – ответ)
- •Тип/подтип
- •Обеспечение безопасности передачи данных http
- •4.2 Ftp (File Transfer Protocol — протокол передачи файлов)
- •При помощи ftp можно работать со своими файлами на удаленном компьютере (переименовывать, создавать каталоги, удалять и т.Д.).
- •Существуют два варианта использования протокола ftp:
- •Особенности протокола ftp
- •Подводя итоги, если ваш брандмауэр понимает протокол ftp, он сможет разобраться с подключениями для передачи данных самостоятельно, и вам не придется заботиться о портах с номерами, большими 1024.
- •Какой режим ftp поддерживает та или иная программа?
Лекція №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. Обмен сообщениями идёт по обыкновенной схеме «запрос-ответ».