- •1). История кс
- •2). Программный механизм вызова удалённых процедур
- •3). История, современное состояние, типовое программное обеспечение, перспективы развития наиболее известных мировых компьютерных сетей.
- •5). Сеть InterNet - основные концепции, история возникновения, современное состояние, типовое программное обеспечение.
- •6). Интерфейс Windows Socket - основы, распространeнность, достоинства и недостатки.
- •7). Сети InterNet и IntraNet - история возникновения, современное состояние, области приложения, типовое программное обеспечение.
- •Internet (Интернет)
- •Intranet (Интрасеть, Интранет)
- •8). Интерфейс Сетевой Базовой Cистемы Ввода/Вывода (NetBios - Network Basic Input/Output System) - основные положения, области применения.
- •9). Концепция платформенно-независимых языкoв, их место в программном обеспечении компьютерных сетей, примеры.
- •10). Протокол http - история возникновения, основные возможности, формат сообщений, программная реализация на стороне клиента и сервера, области применения.
- •Http/0.9
- •Http/1.0
- •Http/1.1
10). Протокол http - история возникновения, основные возможности, формат сообщений, программная реализация на стороне клиента и сервера, области применения.
HTTP — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Основой HTTP является Технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом. HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации свеб-сайтов. В 2006 году в Северной Америке доля HTTP-трафика превысила долю P2P-сетей и составила 46 %, из которых почти половина — это передача потокового видео и звука.
HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.
Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (В частности для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
История возникновения:
Http/0.9
HTTP был предложен в марте 1991 года Тимом Бернерсом-Ли, работавшим тогда в CERN, как механизм для доступа к документам в Интернете и облегчения навигации посредством использования гипертекста. Самая ранняя версия протокола HTTP/0.9 была впервые опубликована в январе 1992 г. (хотя реализация датируется 1990 годом). Спецификация протокола привела к упорядочению правил взаимодействия между клиентами и серверами HTTP, а также чёткому разделению функций между этими двумя компонентами. Были задокументированы основные синтаксические и семантические положения.
Http/1.0
В мае 1996 года для практической реализации HTTP был выпущен информационный документ RFC 1945, что послужило основой для реализации большинства компонентов HTTP/1.0.
Http/1.1
Текущая версия протокола, принята в июне 1999 года.Новым в этой версии был режим «постоянного соединения»: TCP-соединение может оставаться открытым после отправки ответа на запрос, что позволяет посылать несколько запросов за одно соединение. Клиент теперь обязан посылать информацию об имени хоста, к которому он обращается, что сделало возможной более простую организацию виртуального хостинга.
В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлён о предыдущих запросах и ответах, в нём не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.
Каждый запрос/ответ состоит из трёх частей:
стартовая строка
заголовки
тело сообщения, содержащее данные запроса, запрашиваемый ресурс или описание проблемы, если запрос не был выполнен
Стартовые строки различаются для запроса и ответа. Строка запроса выглядит так:
<Метод> <URI> HTTP/<Версия>
Стартовая строка ответа выглядит так:
HTTP/<Версия> <Код статуса> <Описание статуса>
Первая цифра кода статуса предназначена для определения класса ответа.
1: запрос получен, продолжается обработка.
2: успех, запрос был полностью получен, понят и принят к обработке.
3: перенаправление, клиенту следует предпринять дальнейшие действия для успешного выполнения запроса.
4: ошибка клиента - запрос, содержащий неправильные синтаксические конструкции, который не может быть успешно выполнен (ошибка была допущена со стороны клиента).
5: ошибка сервера - сервер не смог дать ответ на корректно поставленный запрос, сервер либо знает, что он допустил ошибку, либо не способен обработать запрос.
Заголовки HTTP — это строки, каждая из которых состоит из имени параметра, за которым следует двоеточие и его значение. Они несут информацию для браузера или для серверных программ (таких, как CGI-приложения). Между заголовками и телом обязательно должна быть пустая строка.
В цепочке запросов/ответов HTTP могут присутствовать один или несколько посредников. Существуют три основных разновидности посредников: прокси-сервера, шлюзы и туннели.
Прокси-сервер - агент-посредник, который получает запросы на некоторый URI, изменяет всё сообщение или его часть и отсылает измененный запрос серверу, идентифицированному URI.
Шлюз (gateway) - сетевое yстpойство, котоpое пеpедает пpотоколы одного типа физической сpеды в пpотоколы дpyгой физической сpеды (сети).
Туннель - действует между двумя соединениями, не изменяя сообщения; туннели используются, когда связь нужно производить через посредника (например Firewall), который не понимает содержание сообщений.
Некоторые опции HTTP-соединения применимы только к соединению с ближайшим не туннельным соседом, некоторые - только к конечным точкам цепочки, а некоторые - ко всем соединениям в цепочке.
Любая сторона соединения, которая не действует как туннель, может использовать внутренний кэш для обработки запросов. Не все ответы полезно кэшировать, а некоторые запросы могут содержать модификаторы, которые включают специальные требования, управляющие поведением кэша.