Некоторые заголовки сообщений http
Заголовок | Тип | Содержимое |
User-Agent | Запрос | Информация о браузере и платформе |
Accept | Запрос | Поддерживаемые клиентом типы страниц |
Accept-Charset | Запрос | Поддерживаемые клиентов наборы символов |
Accept-Encoding | Запрос | Поддерживаемые клиентом типы кодирования (методы сжатия информации) |
Accept-Language | Запрос | Естественные языки, воспринимаемые клиентом |
Host | Запрос | DNS-серверы |
Authorization | Запрос | Список идентификаторов клиента |
Cookie | Запрос | Отправка ранее принятого cookie-файла на сервер |
Date | Запрос/ ответ | Дата и время отправки сообщения |
Upgrade | Запрос/ ответ | Поддерживаемые протоколы. Может использоваться для перехода на будущие версии протокола HTTP, которые, возможно, будут несовместимы с предыдущими. |
Server | Ответ | Информация о сервере |
Content-Encoding | Ответ | Тип кодирования содержимого (методы сжатия информации) |
Content-Language | Ответ | Естественный язык, который используется на странице |
Content-Length | Ответ | Размер страницы в байтах |
Content-Type | Ответ | MIME-тип страницы |
Last-Modified | Ответ | Время и дата последнего обновления страницы |
Location | Ответ | Команда клиенту на перенаправление его запроса другому серверу. Используется при «переезде» страницы или использовании «зеркал», на которых хранится копия страницы |
Accept-Ranges | Ответ | Готовность сервера принимать запросы на страницы указанного размера. Это позволяет пересылать страницы по частям, что может потребоваться, если страница слишком большая и клиент не может принять сразу всю страницу целиком |
Set-Cookie | Ответ | Команда клиенту сохранить cookie |
Протокол FTP (File Transfer Protocol)
FTP (File Transfer Protocol, или «Протокол передачи файлов») – один из старейших протоколов в Internet, входит в его стандарты. Обмен данными в FTP проходит по TCP-каналу. Построен обмен по технологии «клиент-сервер». На рисунке 7.1 изображена модель протокола.
В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора пользователя средствами.
Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.
Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с параметрами, согласованными в сессии управления.
Рис. 7.1. Модель протокола FTP
Канал данных устанавливается для того же host'а, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован как для приема, так и для передачи данных.
Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и организует прямой канал данных между ними. Команды управления идут через пользователя, а данные напрямую между серверами (рисунок 7.2).
Канал управления должен быть открыт при передаче данных между машинами. В случае его закрытия передача данных прекращается.
Рис. 7.2. Соединение с двумя разными серверами и передача данных между ними
Любая команда обмена выполняется в несколько этапов:
· · Формирование канала под управлением клиента, так как именно клиент выдал команду get, dir, put и т.д.
· · Клиент выбирает произвольный номер порта на своей ЭВМ и осуществляет процедуру passive open для этого порта.
· · Клиент посылает номер порта серверу по каналу управления (порт 21), используя команду PORT. Можно обойтись и без команды PORT (используется тот же порт, что и в командном канале), но это увеличивает задержки и по этой причине не рекомендуется.
· · Сервер получает номер порта по каналу управления и выдает команду active open в указанный порт ЭВМ-клиента. Сервер для канала данных всегда использует порт с номером 20.
Уход из FTP производится по команде quit. В приведенном примере файловый обмен не производился, но и команда HELP требует переноса информации (также как и dir), так как вам выдается список команд, доступных на удаленном сервере. Из воспроизведенного списка команд самая опасная mdelete, так как способна стереть целый каталог. Нетекстовые файлы (архивированные, графические и программные) следует пересылать в режиме binary.
При выполнении FTP система возвращает трехразрядные десятичные коды-отклики, которые позволяют судить о корректности обмена и диагностировать процедуру. Выдача кода сопровождается текстом-комментарием. Первая цифра может принимать значения от 1 до 5.
Таблица 7.4
Коды откликов
Код-отклик | Описание |
Комментарий | |
Функция будет реализована через nnn минут | |
Канал открыт, обмен данными начат | |
Статус файла правилен, подготавливается открытие канала | |
Команда корректна | |
Системный статус или отклик на справочный запрос | |
Состояние каталога | |
Состояние файла | |
Справочное поясняющее сообщение | |
Слишком много подключений к FTP-серверу (можете попробовать позднее). В некоторых версиях указывает на успешное завершение промежуточной процедуры | |
Благополучное завершение по команде quit | |
Канал сформирован, но информационный обмен отсутствует | |
Закрытие канала, обмен завершен успешно | |
Пользователь идентифицирован, продолжайте | |
Запрос прошел успешно | |
Имя пользователя корректно, нужен пароль | |
Для входа в систему необходима аутентификация | |
Процедура не возможна, канал закрывается | |
Открытие информационного канала не возможно | |
Канал закрыт, обмен прерван | |
Запрошенная функция не реализована, файл не доступен, например, занят | |
Локальная ошибка, операция прервана | |
Ошибка при записи файла (не достаточно места) | |
Синтаксическая ошибка, команда не может быть интерпретирована (возможно, она слишком длинна) | |
Синтаксическая ошибка (неверный параметр или аргумент) | |
Команда не используется (нелегальный тип MODE) | |
Неудачная последовательность команд | |
Команда не применима для такого параметра | |
Система не загружена (not logged in) | |
Необходима аутентификация для запоминания файла | |
Запрошенная функция не реализована, файл не доступен, например, не найден | |
Запрошенная операция прервана, недостаточно выделено памяти |
Дата добавления: 2018-03-01; просмотров: 448;