Протокол snmp
Протокол SNMP (Simple Network Management Protocol - простой протокол управления сетью) работает на базе UDP и предназначен для использования сетевыми управляющими станциями. Он позволяет управляющим станциям собирать информацию о положении дел в сети internet. Протокол определяет формат данных, их обработка и интерпретация остаются на усмотрение управляющих станций или менеджера сети.
X-Window
Система X-Window использует протокол X-Window, который работает на базе TCP, для многооконного отображения графики и текста на растровых дисплеях рабочих станций. X-Window - это гораздо больше, чем просто утилита для рисования окон; это целая философия человеко-машинного взаимодействия.
Протокол http
Протокол передачи гипертекста HTTP (Hypertext Transfer Protocol) предназначен для передачи гипертекстовых документов от сервера к клиенту. Протокол HTTP относится к протоколам прикладного уровня. Согласно RFC, транспортным протоколом для него должен быть протокол с установлением соединения, надежной передачей данных и без сохранения границ между сообщениями. На практике в подавляющем большинстве случаев транспортным протоколом для HTTP является протокол TCP, причем сервер HTTP (сервер Web) находится в состоянии ожидания соединения со стороны клиента стандартно по порту 80 TCP, а клиент HTTP (браузер Web) является инициатором соединения.
В терминах Web все, к чему может получить доступ пользователь, – документы, изображения, программы, – называется ресурсами. Каждый ресурс имеет уникальный для Web адрес, называемый универсальным идентификатором ресурса (URI – Universal Resource Identifier). В самом общем случае URI выглядит следующим образом:
protocol://user:password@host:port/path/file?paremeters#fragment
Отдельные поля URI имеют следующий смысл:
protocol - прикладной протокол, посредством которого получают доступ к ресурсу;
user - пользователь, от имени которого получают доступ к ресурсу либо сам пользователь в качестве ресурса;
password - пароль пользователя для аутентификации при доступе к ресурсу;
host - IP-адрес или имя сервера, на котором расположен ресурс;
port - номер порта, на котором работает сервер, предоставляющий доступ к ресурсу;
path - путь к файлу, содержащему ресурс;
file - файл, содержащий ресурс;
parameters - параметры для обработки ресурсом-программой;
fragment - точка в файле, начиная с которой следует отображать ресурс.
Взаимодействие между клиентом и сервером Web осуществляется путем обмена сообщениями. Сообщения HTTP делятся на:
запросы клиента серверу;
ответы сервера клиенту.
Сообщения запроса и ответа имеют общий формат.
Оба типа сообщений выглядят следующим образом:
сначала идет начальная строка (start-line),
затем, возможно, одно или несколько полей заголовка, называемых, также, просто заголовками,
затем пустая строка (то есть строка, состоящая из символов CR и LF), указывающая конец полей заголовка,
а затем, возможно, тело сообщения.
Формат начальной строки клиента и сервера различаются и будут рассмотрены далее.
Заголовки бывают четырех видов:
общие заголовки (general-headers), которые могут присутствовать как в запросе, так и в ответе;
заголовки запросов (request-headers), которые могут присутствовать только в запросе;
заголовки ответов (response-headers), которые могут присутствовать только в ответе;
заголовки объекта (entity-headers), которые относятся к телу сообщения и описывают его содержимое.
Каждый заголовок состоит из названия, символа двоеточия ":" и значения. Наиболее важные заголовки приведены в табл. 1.
Таблица 1 - Заголовки протокола HTTP MERGEFORMAT |
|
Заголовок |
Назначение |
Заголовки объекта |
|
Allow |
Перечисляет поддерживаемые сервером методы |
Content-Encoding |
Способ, которым закодировано тело сообщения, например, с целью уменьшения размера |
Content-Length |
Длина сообщения в байтах |
Content-Type |
Тип содержимого и, возможно, некоторые параметры |
ETag |
Уникальный тэг ресурса на сервере, позволяющий сравнивать ресурсы |
Expires |
Дата и время, когда ресурс на сервере будет изменен, и его нужно получать заново |
Last-Modified |
Дата и время последней модификации содержимого |
Заголовки ответа |
|
Age |
Число секунд, через которое нужно повторить запрос для получения нового содержимого |
Location |
URI ресурса, к которому нужно обратиться для получения содержимого |
Retry-After |
Дата и время или число секунд, через которое нужно повторить запрос, чтобы получить успешный ответ |
Server |
Название программного обеспечения сервера, приславшего ответ |
Заголовки запроса |
|
Accept |
Типы содержимого, которое "понимает" клиент и может воспроизвести |
Accept-Charset |
Кодировки символов, в которых клиент может принимать текстовое содержимое |
Accept-Encoding |
Способ, которым сервер может закодировать сообщение
|
Host |
Хост и номер порта, с которого запрашивается документ |
If-Modified-Since If-Match If-None-Match If-Range If-Unmodified-Since |
Заголовки запроса для условного обращения к ресурсу |
Range |
Запрос части документа |
User-Agent |
Название программного обеспечения клиента |
Общие заголовки |
|
Connection |
Указывает серверу на завершение (close) или продолжение (keep-alive) сеанса |
Date |
Дата и время формирования сообщения |
Pragma |
Специальные, зависящие от реализации команды, касающиеся передаваемого содержимого |
Transfer-Encoding |
Способ кодирования сообщения при передаче |
В теле сообщения содержится собственно передаваемая информация – полезная нагрузка сообщения. Тело сообщения представляет собой последовательность октетов (байтов). Тело сообщения может быть закодировано, например, для уменьшения объема передаваемой информации, при этом способ кодирования указывается в заголовке объекта Content-Encoding.