Компьютерные сети (3 курс 2 семестр) Черняхівський Ю.В. / ЛР9 ДОСЛІДЖЕННЯ РОБОТИ СЛУЖБИ WWW / ЛР_9_ДОСЛІДЖЕННЯ РОБОТИ СЛУЖБИ WWW_2017
.pdfAccept: image / gif, image / x-xbitmap, image / jpeg, image / pjpeg, application / vnd.ms-excel, application / msword, application / vnd.ms-powerpoint, * / *
Це потрібно для випадку, коли сервер може видавати один і той же документ в різних форматах.
Значення цього параметра використовується в основному CGI-скриптами для формування відповіді, адаптованого для даного браузера.
Referer - URL, з якого перейшли на цей ресурс.
Host - ім'я хоста, з якого запитується ресурс. Корисно, якщо на сервері є декілька віртуальних серверів під одним IP-адресою. В цьому випадку ім'я віртуального сервера визначається по цьому полю.
Accept-Language - мова, яка підтримується. Має значення для сервера, який може видавати один і той же документ в різних мовних версіях.
Формат HTTP-відповіді:
Формат відповіді дуже схожий на формат запиту: він також має заголовок і тіло, розділене нового рядка.
Заголовок також складається з основної рядки і рядків параметрів, але формат основний рядка відрізняється від такої в заголовку запиту.
Основна рядок запиту складається з 3-х полів, розділених пробілами: Версія протоколу - аналогічний відповідному параметру запиту.
Код повернення (помилки, стану) - кодове позначення "успішності" виконання запиту.
Наприклад, код 200 означає «все нормально» (OK).
Значення кодів повернення по першій цифрі:
1xx: Інформаційний - не використовується, але зарезервований для використання в майбутньому
2хх: Успіх - запит був цілком отриманий, зрозумілий, і прийнятий до обробки.
3xx: Перенаправлення - клієнту варто почати подальші дії для успішного виконання запиту. Необхідна додаткова дія іноді може бути виконано клієнтом без взаємодії з користувачем, але настійно рекомендується, щоб це мало місце тільки в тих випадках, коли метод, що використовується в запиті байдужий (GET або HEAD).
4xx: Помилка клієнта - запит, що містить неправильні синтаксичні конструкції, не може бути успішно виконаний. Клас 4xx призначений для опису тих випадків, коли помилка була допущена з боку клієнта. Якщо клієнт ще не завершив запит, коли він отримав відповідь із Статус-Кодом-4xx, він повинен негайно припинити передачу даних серверу. Даний тип Статус-Кодів застосуємо для будь-яких методів, що вживаються в запиті.
5xx: Помилка Сервера - сервер не зміг дати відповідь на коректно поставлений запит. У цих випадках сервер або знає, що він допустив помилку, або не здатний обробити запит. За винятком відповідей на запити HEAD, сервер посилає опис помилкової ситуації і те, чи є цей стан тимчасовим або постійним, в Зміст-Відповіді. Даний тип Статус-Кодів застосуємо для будь-яких методів, що вживаються в запиті.
Найбільш часто зустрічаються: «200»; OK - документ відправлений.
«404»; Not Found - документ не знайдений (помилка URL), клієнт повинен перевірити правильність написання URL, якщо не допомагає, значить, документ вже видалений.
«500»; Internal Server Error - внутрішня помилка сервера, клієнт виправити не може, тільки адміністратор сервера.
Словесний опис помилки - «розшифровка» попереднього коду. Наприклад, для 200 це OK, для 500 - Internal Server Error.
Таблиця 1 - Таблиця кодів повернення
Код |
|
Назва |
|
Опис |
|
|
|
|
|
100 |
|
Продовжуйте |
|
Клієнт повинен продовжувати передачу запиту. |
|
|
|
|
|
|
|
|
|
Сервер пропонує змінити протокол на вказаний |
101 |
|
Перемикання |
|
в полі заголовка відгуку Update. Зазвичай цю |
|
протоколів |
|
пропозицію про перехід на більш нову версію |
|
|
|
|
||
|
|
|
|
HTTP. |
|
|
|
|
|
110 |
|
Відгук міг |
|
Відгук є застарілим (використовується в |
|
застаріти |
|
заголовку Warning). |
|
|
|
|
||
|
|
|
|
|
|
|
Оновлення не |
|
Відгук від кешу не є свіжим, т. к. спроба |
111 |
|
|
оновити його закінчилася невдачею |
|
|
вдалось |
|
||
|
|
|
(використовується в заголовку Warning). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Розрив |
|
Кеш був навмисне від'єднаний від решти мережі |
112 |
|
|
на деякий час (використовується в заголовку |
|
|
з’єднання |
|
||
|
|
|
Warning). |
|
|
|
|
|
|
|
|
|
|
|
|
|
Евристичне |
|
Кеш евристично вибрав період оновлення, |
113 |
|
|
більший 24 годин, і вік відгуку більше 24 годин |
|
|
застарівання |
|
||
|
|
|
(використовується в заголовку Warning). |
|
|
|
|
|
|
|
|
|
|
|
199 |
|
Різні |
|
Додаткові попередження, не містяться в цьому |
|
попередження |
|
переліку (використовується в заголовку Warning). |
|
|
|
|
200 |
OK |
Запит був успішно оброблений. Вміст відгуку |
|
залежить від типу запиту. |
|||
|
|
||
|
|
|
|
|
|
Запит був успішно оброблений і в результаті |
|
201 |
Створено |
був створений новий ресурс. Його URI вказаний |
|
|
|
в полі заголовка відгуку Location. |
|
|
|
|
|
|
|
Запит був прийнятий, і його обробка почалася |
|
202 |
Прийнято |
іншим асинхронним процесом, тому сервер не |
|
|
|
зможе повідомити про її завершення. |
|
|
|
|
|
203 |
Неавторитетна |
Повертається метаінформація отримана не від |
|
інформація |
сервера її походження, а з локальної копії. |
||
|
|||
|
|
|
|
|
|
Сервер виконав запит, але йому нічого |
|
204 |
Немає вмісту |
повертати клієнту. Браузер не повинен змінювати |
|
|
|
відображення документа. |
|
|
|
|
|
205 |
Скидання вмісту |
Сервер виконав запит, і оглядач повинен |
|
|
|
|
|
|
|
|
скинути відображення документа. |
|
|
|
|
|
|
|
206 |
Частковий вміст |
Сервер виконав частковий запит GET для |
|
|
ресурсу. |
|
||
|
|
|
|
|
|
|
Застосовано |
Застосовано перетворення, що змінило |
|
|
214 |
кодування або тип MIME відгуку |
|
|
|
перетворення |
|
||
|
|
(використовується в заголовку Warning). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Різні |
Додаткові попередження, не містяться в цьому |
|
|
299 |
наполегливі |
|
|
|
переліку (використовується в заголовку Warning). |
|
||
|
|
попередження |
|
|
|
|
|
|
|
|
|
|
|
|
|
300 |
Декілька |
Запитаний ресурс має кілька подань, і клієнт |
|
|
варіантів |
повинен вибрати одну з них. |
|
|
|
|
|
||
|
|
|
|
|
|
301 |
Ресурс |
Запитаний ресурс змінив свій URI. Його новий |
|
|
перенесений |
URI вказаний в полі заголовка відгуку Location. |
|
|
|
|
|
||
|
|
|
|
|
|
302 |
Знайдено |
Запитаний ресурс тимчасово змінив свій URI. |
|
|
|
|
|
|
|
|
|
Відгук на даний запит може бути знайдений під |
|
|
303 |
Дивись інше |
іншим URI, зазначеним у поле заголовка відгуку |
|
|
|
|
Location. |
|
|
|
|
|
|
|
304 |
Не змінено |
Клієнт виконав умовний запит GET, доступ |
|
|
дозволений, але документ не був змінений. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Використовуйте |
Доступ до запрошенням ресурсу можливий |
|
|
305 |
тільки через проксі-сервер, зазначений у полі |
|
|
|
|
проксі |
заголовка відгуку Location. |
|
|
|
|
|
|
|
|
|
|
|
|
306 |
зарезервовано |
|
|
|
|
|
|
|
|
|
Тимчасове |
Запитаний ресурс тимчасово знаходиться під |
|
|
307 |
іншим URI, зазначеному в полі заголовка відгуку |
|
|
|
перенаправлення |
|
||
|
|
Location. |
|
|
|
|
|
|
|
|
400 |
Невірний запит |
Запит не був зрозумілий сервером через його |
|
|
невірного синтаксису. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
Немає права |
Запит вимагає авторизації доступу, тип якої |
|
|
401 |
вказано в поле заголовка відгуку WWW- |
|
|
|
доступу |
|
||
|
|
Authenticate. |
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
Потрібен платіж |
Зарезервовано для наступних версій HTTP. |
|
|
|
|
|
|
|
403 |
Заборонено |
Сервер зрозумів запит, але відмовився його |
|
|
виконувати. |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
Не знайдено |
Ресурс, заданий в URI запиті, не знайдений. |
|
|
|
|
|
405 |
Неприпустимий |
Даний тип запиту не застосуємо до ресурсу, |
|
метод |
заданому в URI запиту. |
||
|
|||
|
|
|
|
406 |
Неприйнятно |
Ресурс, заданий в URI запиту, може генерувати |
|
тільки відгуки, не прийнятні для клієнта. |
|||
|
|
||
|
|
|
|
|
Прокси вимагає |
Проксі-сервер вимагає авторизації доступу, тип |
|
407 |
авторизації |
якої вказано в поле заголовка відгуку Proxy- |
|
|
доступу |
Authenticate. |
|
|
|
|
|
408 |
Таймаут запиту |
Клієнт не посланий жодного запиту протягом |
|
відведеного йому інтервалу. |
|||
|
|
||
|
|
|
|
409 |
Конфлікт |
Запит не може бути виконаний через конфлікт з |
|
поточним станом ресурсу. |
|||
|
|
||
|
|
|
|
410 |
Ресурс зник |
Запитаного ресурсу більше немає на сервері, і |
|
сервер не знає його нового URI. |
|||
|
|
||
|
|
|
|
411 |
Потрібна |
У запиті не задано поле заголовка Content- |
|
довжина запиту |
Length. |
||
|
|||
|
|
|
|
412 |
Умова хибна |
Умова, задана в заголовку умовного запиту, не |
|
може бути виконана. |
|||
|
|
||
|
|
|
|
413 |
Занадто довге |
Тіло запиту довше, ніж допускає сервер. |
|
тіло запиту |
|||
|
|
||
|
|
|
|
414 |
Занадто довге |
URI запиту довше, ніж допускає сервер. |
|
URI запиту |
|||
|
|
||
|
|
|
|
|
Не тип |
Формат тіла запиту не підтримується даними |
|
415 |
пристрою, який |
||
ресурсом для даного типу запиту. |
|||
|
не підтримується |
||
|
|
|
|
|
Запитаний |
Запитаний ресурс не містить значень в |
|
416 |
діапазон |
діапазоні, заданому в поле заголовка запиту |
|
|
порожній |
Range. |
|
|
|
|
|
417 |
Припущення не |
Припущення, вказане в полі заголовка запиту |
|
виправдалося |
Expect, відкинуто сервером. |
||
|
500 |
Внутрішня |
Запит не виконаний через несподівану |
|
помилка сервера |
помилку сервера. |
||
|
|||
|
|
|
|
501 |
Не реалізовано |
Сервер не підтримує даний тип запитів. |
|
|
|
|
|
|
|
|
Сервер, який виступає в ролі шлюзу або проксі- |
|
|
502 |
Поганий шлюз |
сервера, отримав невірний відгук від наступного |
|
|
|
|
сервера. |
|
|
|
|
|
|
|
503 |
Служба |
Сервер тимчасово не може виконати запит через |
|
|
недоступна |
перевантаження. |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
Сервер, який виступає в ролі шлюзу або проксі- |
|
|
504 |
Таймаут шлюза |
сервера, не отримав своєчасного відгуку від |
|
|
|
|
наступного сервера. |
|
|
|
|
|
|
|
505 |
Версія HTTP не |
Сервер не підтримує версію HTTP, зазначену в |
|
|
подтримується |
заголовку запиту. |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Деякі параметри http-відповіді:
Connection - ця відповідь аналогічний відповідному параметру запиту. Якщо сервер не підтримує Keep-Alive (є й такі сервери), то значення
Connection у відповіді завжди close.
Content-Type - містить позначення типу вмісту відповіді в MIME.
В залежності від значення Content-Type браузер сприймає відповідь як HTML-сторінку, картинку gif або jpeg, як файл, який треба зберегти на диску, або як-небудь ще і робить відповідні дії.
Деякі типи вмісту:
text / html - текст у форматі HTML (веб-сторінка);
text / plain - простий текст (аналогічний "блокнотовскому"); image / jpeg - картинка у форматі JPEG;
image / gif - те ж, у форматі GIF;
Також може передавати кодування для текстових даних. Наприклад:
charset=windows-1251 charset=koi8-rus
Content-Length - довжина вмісту відповіді в байтах (розмір файла). Last-Modified - дата і час останньої зміни документа.
Під’єднання до HTTP за допомогою Telnet
Під'єднатись до командного порту HTTP (80) і запитати файл robots.txt:
Програма TeleportPro.
Бувають ситуації, коли необхідно працювати з інформацією з локального диска, наприклад:
Oвідсутність доступу в Internet;
Oдуже повільний канал;
Oперевантажений сервер;
Oдуже велика кількість документів;
Oстворення резервної копії, раптом сервер закриється;
Oдля економії при оплаті каналу, при виході по модему;
Oтощо.
Для створення локальної копії сайту або частини сайту, існують спеціальні програми. Одна з них TeleportPro. Сервер розробника http://www.tenmax.com/.
Деякі можливості програми:
Oзавдання глибини сканування сайту, і зовнішніх посилань;
Oзавдання типу файлів (розширення) для скачування, наприклад можна завантажити тільки графіком;
Oвиставити ліміт за розміром файлу;
Oсканування графічних карт;
Oзавдання розкладу роботи, вбудований Scheduler;
Oзавдання назву клієнта, якщо є обмеження для деяких клієнтів;
Oзавдання кількості одночасно завантажуваних файлів.
Порядок виконання роботи
1.Включити комп’ютер
2.Ознайомитись з типами пошуку в мережі Internet: повнотекстовий пошук, пошук по метаданим, пошук по картинкам. Навести короткі відомості
взвіті.
3.Ознайомитись з видами пошукових систем: пошуковий вказівник, пошуковий каталог, рейтинговий каталог. Навести короткі відомості в звіті та зробити скріншоти кожного типу пошукової системи.
4.Ознайомитись з методами введення запитів в пошукових вказівниках: простий пошук, складний пошук, простий пошук з використанням операндів. Навести короткі відомості в звіті та зробити скріншоти знаходження інформації різними методами. Примітка: тематика інформації, яка шукається, повинна бути пов’язана з комп’ютерними системами.
5.Зробити скріншоти пошуку інформації в Internet за допомогою різних операторів (5-6 операторів), навести їх опис. Примітка: тематика інформації, яка шукається, повинна бути пов’язана з комп’ютерними системами.
6.Зробити скріншот по додаванню знайденого сайту в журнал (закладки). 7 Описати призначення служби WWW.
8 Описати основні команди протоколу HTTP.
Контрольні запитання
1.Що передбачає повнотекстовий пошук? Як він реалізується при пошуку
вInternet та при пошуку на локальному комп’ютері? В чому відмінність?
2.Що таке «пошук по метаданим»?
3.Що таке «Дублінське ядро»?
4.Навести класифікацію метаданих.
5.Навести найбільш відомі системи пошуку за метаданими.
6.Як організований пошук за картинками? В чому його переваги та недоліки?
7.Що таке «пошуковий вказівник»?
8.Що таке «пошуковий каталог»?
9.Що таке «рейтинговий каталог»?
10.Що передбачає введення «простого запиту»?
11.Що передбачає введення «складного запиту»?
12.Що передбачає введення «простого запиту з використанням операндів»?
13.Навести найбільш розповсюджені операнди.
14.Назвати основні етапи роботи пошукових програм (ботів).
15.Назвати призначення служби WWW.
16.Назвати основні команди протоколу HTTP.
Зміст звіту
1.Тема.
2.Мета.
3.Завдання.
4.Результати виконання роботи. По кожному пункту завдання необхідно навести відповідний скріншот.
5.Відповіді на контрольні запитання (усно).
6.Висновки.