Сетевые технологии. Баканов В.М. - 41 стр.

UptoLike

Составители: 

- 41 -
После этого заголовка сразу же следует запрашиваемый ресурс (чаще все-
го это файл HTML, но может быть и файл текста, мультимедиа-данных и др.).
При возврат ресурса клиенту сначала сервер ищет запрашиваемый файл,
причем имя его берется из поля GET и рассматривается относительно корне-
вого каталога сайта (этот каталог указывается при конфигурировании сер-
вера). Запрашиваемый файл не может находиться выше (по файловой систе-
ме) текущего каталогатребование защищенности WEB-сервера.
Если файл существует и доступен для чтения, сервер исследует различ-
ную информацию о нем (для последующего сообщения клиенту, что будет
передано) и начинает перекачку файла через гнездо (в случае команды HEAD
сервер ограничивается передачей информации о файле). При использовании
(вышеописанных) технологий CGI- или ISAPI активизируется соответст-
вующее расширение сервера и возвращается запрошенный скриптом ресурс.
Ограничения разрабатываемого WEB-севера (см. работу [2]):
Используются только протоколы HTTP 0.9 (простой) и HTTP 1.0 (полный).
Обслуживается только одного соединение с клиентом в каждый момент
времени.
Отсутствует поддержка GCI- и IASPI-расширений сервера.
При запуске WEB-сервер выполняет следующие действия:
1. Создает гнездо на HTTP TCP-порту (порт 80 по умолчанию) и начинает
прослушивание поступающих запросов на подсоединение.
2. Принимает любые запросы на подсоединение.
3. Если некоторое соединение уже активно, отправляет новому соединению
ответ о неготовности и отсоединяет клиента. Если нет уже существующих
соединений, ждет отправления запроса клиентом.
4. Анализирует принятые клиентские запросы для определения существова-
ния и готовности к передаче запрашиваемого файла.
5. Возвращает запрашиваемый файл клиенту.
6. Отсоединяется от клиента и ожидает следующего запроса на подсоедине-
ние.
Переменная IblsFullRequest: Boolean; определяет версию протокола HTTP и
устанавливается в зависимости от того, какой запрос послал клиент (FALSE
для HTTP 0.9 и TRUE при HTTP 1.0). Вызов функции для создания гнезда
прослушивания выглядит следующим образом:
{ создать гнездо прослушивания на порту 80 TCP }
    После этого заголовка сразу же следует запрашиваемый ресурс (чаще все-
го это файл HTML, но может быть и файл текста, мультимедиа-данных и др.).
    При возврат ресурса клиенту сначала сервер ищет запрашиваемый файл,
причем имя его берется из поля GET и рассматривается относительно корне-
вого каталога сайта (этот каталог указывается при конфигурировании сер-
вера). Запрашиваемый файл не может находиться выше (по файловой систе-
ме) текущего каталога – требование защищенности WEB-сервера.
     Если файл существует и доступен для чтения, сервер исследует различ-
ную информацию о нем (для последующего сообщения клиенту, что будет
передано) и начинает перекачку файла через гнездо (в случае команды HEAD
сервер ограничивается передачей информации о файле). При использовании
(вышеописанных) технологий CGI- или ISAPI активизируется соответст-
вующее расширение сервера и возвращается запрошенный скриптом ресурс.
  Ограничения разрабатываемого WEB-севера (см. работу [2]):

• Используются только протоколы HTTP 0.9 (простой) и HTTP 1.0 (полный).
• Обслуживается только одного соединение с клиентом в каждый момент
  времени.
• Отсутствует поддержка GCI- и IASPI-расширений сервера.

  При запуске WEB-сервер выполняет следующие действия:

1. Создает гнездо на HTTP TCP-порту (порт 80 по умолчанию) и начинает
   прослушивание поступающих запросов на подсоединение.
2. Принимает любые запросы на подсоединение.
3. Если некоторое соединение уже активно, отправляет новому соединению
   ответ о неготовности и отсоединяет клиента. Если нет уже существующих
   соединений, ждет отправления запроса клиентом.
4. Анализирует принятые клиентские запросы для определения существова-
   ния и готовности к передаче запрашиваемого файла.
5. Возвращает запрашиваемый файл клиенту.
6. Отсоединяется от клиента и ожидает следующего запроса на подсоедине-
   ние.

  Переменная IblsFullRequest: Boolean; определяет версию протокола HTTP и
устанавливается в зависимости от того, какой запрос послал клиент (FALSE
для HTTP 0.9 и TRUE при HTTP 1.0). Вызов функции для создания гнезда
прослушивания выглядит следующим образом:

{ создать гнездо прослушивания на порту 80 TCP }


                                     - 41 -