Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Введение в Веб программирование.doc
Скачиваний:
81
Добавлен:
07.11.2018
Размер:
4.42 Mб
Скачать

Протокол ftp

Технология FTP была разработана еще в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. FTP-протокол - один из старейших протоколов в Internet. Первые спецификации FTP относятся к 1971 году. Обмен данными в FTP построен на технологии “клиент-сервер” и происходит по TCP-каналу. Алгоритм работы протокола FTP состоит в следующем:

  • Сервер FTP прослушивает порт 21, и находится в состоянии ожидания соединения с клиентом.

  • Клиент устанавливает соединение и отправляет на сервер команды FTP.

- Клиент становится в режим ожидания открытия соединения на заданный для передачи данных порт. Активный модуль - “Программа передачи данных сервера” начинает передачу данных клиенту.

После окончания передачи данных управляющее соединение сервера и клиента остается открытым, поэтому пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.

Команды протокола. Команды управления контролем передачи данных, которыми обмениваются “Интерпретатор протокола сервера” и “Интерпретатор протокола пользователя”, можно разделить на три большие группы:

  • Команды управления доступом к системе.

  • Команды управления потоком данных.

  • Команды FTP-сервиса.

Http – Протокол передачи гипертекстов

HyperText Transfer Protocol (HTTP) - это протокол уровня приложений, обеспечивающий передачу гипертекстовых данных от клиента к серверу и обратно. HTTP используется проектом World Wide Web, начиная с 1990 года. В настоящее время в Веб используется версия HTTP 1.1. HTTP предоставляет открытое множество методов, которые могут быть использованы для указания целей запроса. Для указания адреса ресурса, к которому должен быть применен данный метод, используется Универсальный Идентификатор Ресурсов (Universal Resource Identifier - URI), в виде местонахождения (URL) или имени (URN).Запрашивающая программа - клиент устанавливает связь с обслуживающей программой- сервером и посылает запрос серверу в следующей форме:

  • метод запроса,

  • URI,

  • версия протокола, за которой следует MIME-подобное сообщение, содержащее управляющую информацию запроса, информацию о клиенте и тело сообщения.

Сервер отвечает сообщением, содержащим строку статуса (включая версию протокола и код статуса - успех или ошибка), за которой следует MIME-подобное сообщение, включающее в себя информацию о сервере, метаинформацию о содержании ответа, и само тело ответа.

В Internet коммуникации обычно основываются на TCP/IP протоколах. Для WWW номер порта по умолчанию 80, но могут быть использованы и другие номера портов.

Для большинства приложений сеанс связи открывается клиентом для каждого запроса и закрывается сервером после окончания ответа на запрос. Разрыв связи, инициированный любой стороной, прерывает текущий запрос.

Что такое транзакция http

Когда браузер запрашивает Web-страницу с указанного адреса, он создает и отсылает серверу по указанному адресу запрос HTTP, заголовок которого выглядит следующим образом:

GET /my.php HTTP/1.1

Accept: image/gif, image/png, image/jpeg, */*

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0;

Windows XP; .NET CLR 1.1.4322)

Host: my.com

Connection: Keep-Alive

Вот что эти строки значат:

GET — метод HTTP который означает: "Дай информацию, находящуюся в му.php, и вышли ее, используя протокол HTTP 1.1".

Accept — "могу понимать графическую информацию в следующих форматах".

Accept-Language — "язык, — английский, американский ".

Accept-Encoding — "можно отправлять данные в сжатом виде, поскольку я понимаю типы сжатия gzip и deflate".

User-Agent — "тип моего браузера — Microsoft Explorer 8, выполняющийся под управлением Windows XP".

Host — "доставь мне информацию /my.php с компьютера, находящегося на хосте my.com".

Connection: Keep-Alive — "держи подключение HTTP открытым, пока браузер не закроет его". Постоянное подключение повышает производительность, поскольку соединение не нужно закрывать и снова открывать для каждого подключения. Без Keep-Alive Web-страница будет иметь множество подключений

Когда Web-сервер получает подобный запрос, он должен просмотреть информацию на сервере, которая представлена /my. php. Если информация на сервере существует, сервер должен отправить клиенту (браузеру) ответ (response ) в виде:

HTTP/1.1 200 OK

Date: Sun, 14 Mar 2010 21:36:39 GMT

Server: Apache/2

Last-Modified: Sat, 28 Nov 2009 03:59:01 GMT

ETag: "1387e3-5f88-479666db44b40"

Accept-Ranges: bytes

Content-Length: 24456

Vary: Accept-Encoding,User-Agent

Connection: close

Content-Type: text/html; charset=utf-8

<html lang="en-US" xml:lang = "en-US"> <nlns="http://www.w3.org/1999/xhtml">

<head>

<script>

HTTP-ответ состоит из двух частей. В начале идет заголовок ответа (response header). Затем идет пустая строка и далее — сама запрошенная информация. Эта вторая часть называется телом (body). Вот что означают части заголовка:

HTTP/1.1 — первая строка сообщает клиенту, что информация будет отправлена по протоколу HTTP версии 1.1. Код 200 состояния HTTP означает: "Все хорошо, документ найден и сейчас будет отправлен".

Date — сообщает клиенту дату, установленную на сервере, с которого поступает информация. Стандартный часовой пояс — GMT, то есть время по Гринвичу.

Server — каков тип сервера, предоставляющего информацию.

Connection — сообщает клиенту, что соединение будет закрыто после того, как сервер завершит отправку информации.

Content-Type — сообщает клиенту, какой тип содержимого будет отправлен. В дополнение также указывается набор символов.