Доступ к папке через веб
В home/test делаем папку testweb. Запускаем nvu. Набираем «Веб папка на local Номер Сохраняем под именем index.html в home/test.
В свойствах папки: Cделать каталог доступным через веб (закладка «Доступные ресурсы», если этой опции нет, то нажать кнопку «Запустить аплет»).
Открыть браузере local Номер:8001
Щелкнуть по появившемуся значку kpf в панели задач. Почитать справку.
Открыть вашу Веб папку с другой виртуальной машины можно точно также, используя вместо local Номер ip-адрес Вашего компьютера.
Самостоятельно (на зачет)
Создать еще одну папку общего доступа и проверить ее работу и продемонстрировать ее работу преподавателю
Работа с web сервером apache
Удалении программ в описании apache-base смотрим где лежит index.html
- Настройка компьютера, система, консоль – запускается консоль под root. kwite – запускаем редактор под root. Редактируем var/www/html/index.html (Пишем «Веб сервер на local Номер работает). Открываем local Номер в браузере, и выбираем кодировку Unicode.
Делаем виртуальный сервер.
(Виртуальные серверы (хосты) – несколько web-серверов с различными IP-адресами,
использующими один экземпляр программы Apache.
Сферы применения виртуальных серверов:
− создание отдельных web-серверов со своими адресами для различных компаний,
организаций и индивидуальных пользователей;
− организация виртуальных серверов для отделов фирм, каждый отдел будет иметь
собственное доменное имя и свой web-сервер;
− организация общедоступного и внутреннего web-серверов в виде двух
виртуальных серверов;
− использование виртуального сервера для проверки или разработки web-сервера.)
Запускаем редактор kwite под root. Открываем /var/www/html/index.html. Изменяем текст. Команда Сохранить как, переходим в /var/www/html/, делаем папку testweb Номер
В etc/host:
127.0.0.2 testweb Номер
Для поверки в консоли:
ping testweb Номер
Ctrl+c для остановки.
В редакторе kwrite под root открываем единственный файл из etc/httpd/conf/vhost.d/ там и добавляем
<VirtualHost 127.0.0.2>
DocumentRoot /var/www/html/testweb Номер
</VirtualHost>
Сохраняем файл.
Настройка компьютера, система, Включение и выключение служб, перезапуск httpd.
Открываем в браузере testweb Номер
Изучение взаимодействия с HTTP-сервером с помощью клиента telnet
В консоли вводим команду
telnet testweb Номер 80
После получения ответа вводим команды
GET / HTTP/1.1
Host: testweb Номер
И, если нет ответа, еще раз нажимаем «Enter»
Мы видим что, взаимодействие происходит на основе отсылки текстовых команд и текстовых ответов. В первой строке ответа указывается код ответа (если запрос правильный - "200 OK"). Далее следуют поля заголовка ответа (текущее время и дата на сервере, программное обеспечение сервера, тип содержимого - текст в формате HTML и пр.). После пустой строки начинается HTML-документ, соответствующий запрошенной странице.
Справочные сведения для расшифровки ответа
В запросе к серверу передаются метод_запроса версия_протокола_НТТР URL_pecypca
Метод, указанный в строке состояния, определяет способ воздействия на ресурс, URL которого задан в той же строке. Метод может принимать значения GET, POST, HEAD, PUT, DELETE и т.д. Наиболее важны: GET и POST.
- GET. Согласно формальному определению, метод GET предназначается для получения ресурса с указанным URL. Ресурс, URL которого передается в составе запроса, не обязательно должен представлять собой HTML-страницу, файл с изображением или другие данные. URL ресурса может указывать на исполняемый код программы, который, при соблюдении определенных условий, должен быть запущен на сервере. В этом случае клиенту возвращается не код программы, а данные, сгенерированные в процессе ее выполнения. Несмотря на то что, по определению, метод GET предназначен для получения информации, он может применяться и в других целях. Метод GET вполне подходит для передачи небольших фрагментов данных на сервер.
- POST. Согласно тому же формальному определению, основное назначение метода POST - передача данных на сервер. Однако, подобно методу GET, метод POST может применяться по-разному и нередко используется для получения информации с сервера.
Версия протокола HTTP, как правило, задается в следующем формате:
HTTP/версия.модификация
Получив от клиента запрос, сервер должен ответить ему.
Ответ сервера клиенту начинается со строки состояния, которая имеет следующий формат:
Версия_протокола Код_ответа Пояснительное_сообщение
- Версия_протокола задается в том же формате, что и в запросе клиента, и имеет тот же смысл.
- Код_ответа - это трехзначное десятичное число, представляющее в закодированном виде результат обслуживания запроса сервером.
- Пояснительное_сообщение дублирует код ответа в символьном виде. Это строка символов, которая не обрабатывается клиентом. Она предназначена для системного администратора или оператора, занимающегося обслуживанием системы, и является расшифровкой кода ответа.
Классы кодов ответа сервера.
Код | Расшифровка | Интерпретация |
Continue | Часть запроса принята, и сервер ожидает от клиента продолжения запроса | |
OK | Запрос успешно обработан, и в ответе клиента передаются данные, указанные в запросе | |
Created | В результате обработки запроса был создан новый ресурс | |
Accepted | Запрос принят сервером, но обработка его не окончена. Данный код ответа не гарантирует, что запрос будет обработан без ошибок. | |
Partial Content | Сервер возвращает часть ресурса в ответ на запрос, содержавший поле заголовка Range | |
Multiple Choice | Запрос указывает более чем на один ресурс. В теле ответа могут содержаться указания на то, как правильно идентифицировать запрашиваемый ресурс | |
Moved Permanently | Затребованный ресурс больше не располагается на сервере | |
Moved Temporarily | Затребованный ресурс временно изменил свой адрес | |
Bad Request | В запросе клиента обнаружена синтаксическая ошибка | |
Forbidden | Имеющийся на сервере ресурс недоступен для данного пользователя | |
Not Found | Ресурс, указанный клиентом, на сервере отсутствует | |
Method Not Allowed | Сервер не поддерживает метод, указанный в запросе | |
Internal Server Error | Один из компонентов сервера работает некорректно | |
Not Implemented | Функциональных возможностей сервера недостаточно, чтобы выполнить запрос клиента | |
Service Unavailable | Служба временно недоступна | |
HTTP Version not Supported | Версия HTTP, указанная в запросе, не поддерживается сервером |
Поля заголовка ответа веб-сервера.
Имя поля | Описание содержимого |
Server | Имя и номер версии сервера |
Age | Время в секундах, прошедшее с момента создания ресурса |
Allow | Список методов, допустимых для данного ресурса |
Content-Language | Языки, которые должен поддерживать клиент для того, чтобы корректно отобразить передаваемый ресурс |
Content-Type | MIME -тип данных, содержащихся в теле ответа сервера |
Content-Length | Число символов, содержащихся в теле ответа сервера. Поскольку в подавляющем большинстве случаев в ответ на запрос клиента сервер возвращает исходный текст HTML-документа, то в поле Content-type ответа обычно содержится значение text/html. Здесь идентификатор text описывает тип, сообщая, что клиенту передается символьная информация, а идентификатор html описывает подтип, т.е. указывает на то, что последовательность символов, содержащаяся в теле ответа, представляет собой описание документа на языке HTML. |
Last-Modified | Дата и время последнего изменения ресурса |
Date | Дата и время, определяющие момент генерации ответа |
Expires | Дата и время, определяющие момент, после которого информация, переданная клиенту, считается устаревшей |
Location | В этом поле указывается реальное расположение ресурса. Оно используется для перенаправления запроса |
Cache-Control | Директивы управления кэшированием. Например, no-cache означает, что данные не должны кэшироваться |
На зачет
Создать виртуальный сайт zachet Номер доступный по IP-адресу 127.0.0.3 и по адресу zachet Номер. Продемонстрировать его работоспособность преподавателю при помощи web браузера и при помощи telnet клиента. Прокомментировать построчно запрос и ответ сервера. Комментарии можно привести в текстовом файле, в который необходимо предварительно скопировать запрос и ответ.