Зчитування інформаії з мережі Internet за допомогою HTTP, Детальна інформація

Зчитування інформаії з мережі Internet за допомогою HTTP
Тип документу: Курсова
Сторінок: 11
Предмет: Комп`ютерні науки
Автор: Підборецький Віталій
Розмір: 245.8
Скачувань: 1783
HTTP ґрунтується на парадигмі запитів/відповідей. Запитуюча програма (як правило вона називається клієнт) установлює зв'язок з обслуговуючою програмою-одержувачем (що називається сервер) і надсилає запит серверу в наступній формі:

метод запиту,

URI,

версія протоколу,

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

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

Internet комунікації звичайно ґрунтуються на TCP/IP протоколах. Для WWW номер порту за замовчуванням -- TCP:80, але також можуть бути використані й інші номера портів -- це не виключає можливості використовувати HTTP як протокол верхнього рівня.

Для більшості додатків сеанс зв'язку відкривається клієнтом для кожного запиту і закривається сервером після закінчення відповіді на запит. Тим паче, це не є особливістю протоколу. І клієнт, і сервер повинні мати можливість закривати сеанс зв'язку, наприклад, у результаті якої-небудь дії користувача. У будь-якому випадку, розрив зв'язку, ініційований будь-якою стороною, перериває поточний запит, незалежно від його статусу.

HTTP запит.

а) Загальні поняття

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

Перший рядок цього повідомлення містить у собі метод, що повинний бути застосований до запитуваного ресурсу, ідентифікатор ресурсу і використовувану версію протоколу. Для сумісності з протоколом HTTP/0.9, існує два формати HTTP запиту:

Запит = Простий-Запит | Повний-Запит

Простий-Запит = "GET" SP Запитуваний-URI CRLF

Повний-Запит = Рядок-Статус

*(Загальн-Заголовок | Заголовок-Запиту | Заголовок-Змісту ) CRLF

[ Зміст-Заголовку ]

Якщо HTTP/1.0 сервер одержує Простий-Запит, він повинний відповідати Простою-Відповіддю HTTP/0.9. HTTP/1.0 клієнт, здатний обробляти Повну-Відповідь, ніколи не повинен посилати Простий-Запит.



б) Строка Статус

Рядок Статус починається з рядка з назвою методу, за яким випливає URI-запиту і версія протоколу, що використовується. Рядок Статус закінчується символами CRLF. Елементи рядка розділяються пробілами (SP). У Рядку Статус не допускаються символи LF і CR, за винятком кінцевої послідовності CRLF.

Рядок-Статус = Метод SP URI-ЗапитуSP Версія-HTTP CRLF

Слід зазначити, что відмінність Рядка Статус Повного-Запиту від Рядка Статус Простого- Запиту полягає в присутності поля Версія-HTTP.

в) Метод запиту

У полі Метод вказується метод, що повинний бути застосований до ресурсу, ідентифікованому URI-запиту. Назви методів чуттєві до регістра. Існуючий список методів може бути розширений.

додаткрвий-метод

Список методів, що допускаються окремим ресурсом, може бути зазначений у полі Заголовок-Зміст "Балів". Не дивлячись на це, клієнт завжди оповіщається сервером через код статусу відповіді, чи допускається застосування даного методу для зазначеного ресурсу, так як допустимість застосування різних методів може динамічно змінюватися. Якщо даний метод відомий серверу, але не допускається для зазначеного ресурсу, сервер повинний повернути код статусу "405 Method Not Allowed", і код статусу "501 Not Implemented", якщо метод чи не відомий чи не підтримується даним сервером. Загальні методи HTTP/1.0 описуються нижче.

GET

Метод GET служить для одержання будь-якої інформації, ідентифікованої URI-запиту. Якщо URI- Запиту посилається на процес, що видає дані, як відповідь будуть виступати дані, сгенеровані даним процесом, а не код самого процесу (якщо тільки це не є вихідними даними процесу).

Метод GET змінюється на "умовний GET", якщо повідомлення запиту містить у собі поле заголовка "If-Modified-Since". У відповідь на умовний GET, тіло запитуваного ресурсу передається тільки, якщо він змінювався після дати, зазначеної в заголовку " HYPERLINK "http://www-sbras.nsc.ru/win/fedotov/inter/http/" \l "ifmodifiedsince" If-Modified-Since ".Алгоритм визначення цього містить у собі наступні випадки:

The online video editor trusted by teams to make professional video in minutes