Некоторые заголовки сообщений 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; просмотров: 538;
