Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема_1_3_Протоколы_сетей_и_методы_доступа.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
408.4 Кб
Скачать

Структура протоколу

Обмін повідомленнями здійснюється за схемою «запит-відповідь». Для ідентифікації ресурсів HTTP використовує глобальні URI.

URI (Uniform Resource Indicator) - це унифицированный идентификатор ресурса, тобто адреси, що починаються з http або ftp. Будь-який користувач може створити URI, але права власності на них чітко організовані, тому вони представляють ідеальну базову технологію для побудови глобальної мережі. Фактично, інтернет є саме такою структурою: все, що має URI, вважається що знаходяться в глобальній мережі. Будь-який об'єкт, схема або модель даних семантичної мережі повинні мати власний унікальний адресу (URI).

Універсальний покажчик ресурсів (Uniform Resource Locator, сокр. URL) - це URI, який, крім ідентифікації ресурсу, вказує на спосіб дії або подання ресурсу шляхом опису основного механізму доступу до нього або його положення в мережі.

Ще існує поняття URN (Unifrorm Resource Name) уніфіковане ім’я ресурсу - це URI, який ідентифікує ресурс за допомогою імені в певному просторі імен. Воно дозволяє говорити про ресурс без використання його місцезнаходження або зняття посилань на нього.

Наприклад:

URI = http://handynotes.ru/2009/09/uri-url-urn.html

URL = http://handynotes.ru

URN = /2009/09/uri-url-urn.html

Слід зазначити, що, на відміну від багатьох інших протоколів, HTTP не зберігає свого стану. А це означає відсутність збереження проміжного стану сеансів «запит-відповідь». Компоненти, що використовують HTTP, можуть самостійно здійснювати збереження інформації про стан, пов'язаної з останніми запитами та відповідями. Браузер, який посилає запити, може відстежувати затримки відповідей. Сервер може зберігати IP-адреси і заголовки запитів останніх клієнтів.

Кожен запит/відповідь складається з трьох частин:

-  стартовий рядок;

-  заголовки;

-  тіло повідомлення, що містить різні дані запиту.

Рядок запиту має такий вигляд:

<Метод> * <URI> HTTP / <Версія>

* Замість "метод" підставляється:

GET - запитує вміст зазначеного ресурсу.

HEAD - аналогічний методу GET за винятком того, що у відповіді сервера відсутнє тіло. Це корисно для витягання метаінформації, заданої в заголовках відповіді без пересилки всього вмісту.

POST - передає дані користувача (наприклад, з форми HTML) заданому ресурсу. Дані включаються в тіло запиту.

PUT - завантажує зазначений ресурс на сервер.

DELETE - видаляє зазначений ресурс.

TRACE - повертає отриманий запит так, що клієнт може побачити, що проміжні сервери додають до запиту або змінюють його. CONNECT - для використання разом з проксі-серверами, які можуть динамічно переключатися в тунельний режим SSL.

У більшості випадків використовуються переважно GET-і POST-методи. Як ви вже, напевно, здогадалися, основна відмінність цих методів в тому, що в методі GET дані запиту впроваджуються в URL-рядок ресурсу (після знаку питання, наприклад:

httр :/ / server / document.html? param = value), а в методі POST вони посилаються в тексті листа.

Рядок відповіді має такий вигляд:

HTTP / <Версія> <Код статусу> * <Опис статусу>

* В якості коду статусу може бути:

"200 OK" - запит виконаний успішно;

"404 Not Found" - запитаний ресурс не знайдений.

"403 Forbidden" - доступ до запрошенням ресурсу заборонений.

Заголовки HTTP - це рядки, кожний з яких складається з імені параметра, за яким ставиться двокрапка та його значення. Вони несуть інформацію для браузера або для серверних програм (таких, як CGI-додатки).

Запит:

GET / wiki / HTTP HTTP/1.1

Host: ru.wikipedia.org

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Connection: close

Відповідь:

HTTP/1.0 200 OK

Server: Apache

Content-Language: ru

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

Content-Length: 1234

CGI (від англ. Common Gateway Interface - «загальний інтерфейс шлюзу») - стандарт інтерфейсу, що використовується для зв'язку зовнішньої програми з веб‑сервером. Програму, яка працює за таким інтерфейсом спільно з веб-сервером, прийнято називати шлюзом, хоча дуже часто називають «скрипт» (сценарій) або «CGI-програма». Сам інтерфейс розроблений таким чином, щоб можна було використовувати будь-яку мову програмування, яка може працювати із стандартними пристроями введення/виводу. Такі можливості мають навіть скрипти для вбудованих командних інтерпретаторів операційних систем, тому в простих випадках можуть використовуватись навіть командні скрипти. CGI є одним з найбільш поширених засобів створення динамічних веб-сторінок.

FTP (File Transfer Protocol, «протокол передачі файлів») - це мережевий протокол сімейства TCP/IP, призначений для передачі файлів в комп'ютерних мережах. Протокол FTP дозволяє підключатися до серверів FTP, переглядати вміст каталогів і завантажувати файли з сервера або на сервер, крім того, можливий режим передачі файлів між серверами. FTP є одним з найстаріших прикладних протоколів, що з'явилися задовго до HTTP. Датою його народження можна вважати 1971 рік. До початку 90-х років на частку FTP припадало близько половини трафіку в мережі Інтернет. І донині цей протокол не втратив своєї популярності і широко використовується для закачування файлів.