Тема 7 методи http запитів

Тема 7: Визначення методів HTTP (HTTP Method Definitions). Методи HTTP запитів

Тема 7 методи http запитів

Визначення методів HTTP (HTTP Method Definitions). Опис методів HTTP запитів

Види HTTP методів запиту

Якщо ви хочете дізнатися все про протокол HTTP. зверніться до навігації по рубриці HTTP протокол. Стандарт HTTP 1.1 налічує вісім методів, але набір методів може бути розширений, хоча і не буде підтримуватися іншими HTTP додатками. які повністю відповідаю букві стандарту. Кожен HTTP запит повинен містити метод. HTTP методи запиту діляться на ідемпотентна і безпечні методи. Дам коротку довідку: ідемпотентна методи в HTTP повинні при великій кількості ідентичних HTTP запитах мати такий же ефект, як і при одному єдиному запиті, але в той же час відповідь HTTP сервера не обов'язково повинен бути тим же самим. Ось таке ось протиріччя.

Безпечні HTTP методи і ідемпотентна HTTP методи запитів

Давайте подивимося на різницю між HTTP методами. Спершу розглянемо безпечні методи. HTTP стандарт чітко говорить про те, що програма, яка працює з мережею інтернет, представляє користувача, тому вона повинна інформувати користувача про будь-які дії, які відбуваються і які він може зробити, але які можуть мати непередбачувані значення для самого користувача або для інших осіб. Іншими словами: у вашому браузері мають інформувати вас про будь-яких дії під час HTTP з'єднання. Це не завжди так, але, по крайней мере, так сказано в стандарті протоколу HTTP 1.1.

Безпечні HTTP методи (Safe method HTTP)

На даний момент прийнято угоду про те, що HTTP методи GET і HEAD ніколи не повинні мати іншого значення, крім завантаження, тому дані HTTP методи потрібно розглядати, як безпечні, це вимога HTTP. Тому ваш браузер, коли використовуються методи POST, PUT або DELETE попереджає вас про те, що може статися потенційно небезпечне діяння і питає: чи потрібно його виконати.

Ідемпотентна HTTP методи (Idempotent Methods HTTP)

Я вже коротко пояснив суть ідемпотентна HTTP методів. при використання таких методів побічні ефекти однакові як в разі одноразового запиту, так і в разі багаторазового повторення одного і того ж запиту, тобто навантаження однакова, але HTTP відповідь від сервера може надходити щораз різний. До ідемпотентна методів належать такі HTTP методи: GET, HEAD, PUT і DELETE. Так само ефектом ідемпотентності володіють HTTP методи OPTIONS і TRACE.

Короткий огляд HTTP методів

Давайте перерахуємо всі методи HTTP протоколу і дамо їм короткий опис. Для зручності зведемо HTTP методи в таблицю

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

Ми коротко розглянули всі HTTP методи і дали їм коротку характеристику. Давайте тепер більш докладно зупинимося на кожному з HTTP методів і наведемо кілька прикладів використання HTTP методів.

Опис HTTP методу GET. Приклад використання HTTP методу GET

HTTP метод GET дозволяє отримувати інформацію з HTTP сервера. Інформація, що отримується від сервера може бути будь-який, головне, щоб вона була в формі HTTP об'єкта. доступ до інформації при використанні методу GET здійснюється через URI. Часто буває так, що HTTP метод GET звертається до якогось коду, а не до конкретної сторінки (всі CMS генерують контент нальоту), тому метод GET працює так, що ми отримуємо не вихідний код, який генерує текст, а сам текст.

HTTP метод GET буває двох видів: умовний метод GET і частковий метод GET. Давайте спершу подивимося на умовний метод GET. Коли використовується умовний HTTP метод GET, то до HTTP повідомленням додаються такі поля заголовків. If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, або If-Range. Значення таких полів є яка-небудь умова і якщо ця умова виконується, то відбувається передача об'єкта, який зберігається за вказаною URI, якщо ж умова не виконується, то і сервер не передає ніяких даних. Умовний HTTP метод GET призначений для зменшення навантаження на мережу.

Давайте тепер подивимося на особливості роботи часткового HTTP методу GET. Особливість часткового методу GET полягає в тому, що в його заголовку присутній поле Range. Коли використовується часткові метод GET корисна інформація, призначена для людини передається шматками, після чого вона з цих шматків збирається. Чи не нагадує це вам скачування файлів по HTTP протоколу, коли ми можемо зупинити завантаження, відключити браузер, потім знову включити браузер і закачування буде відбуватися рівно з того місця, де вона була припинена. Не варто забувати, що поля заголовків - це параметри HTTP протоколу. які визначають, як будуть працювати клієнт і сервер.

Сервер може кешувати відповіді на запити з HTTP методом GET. але при дотримання певних вимог, про які ми поговоримо трохи пізніше. Давайте краще самостійно напишемо HTTP запит з методом GET і подивимося, яку відповідь ми можемо отримати від сервера:

Ми розглянули найбільш часто використовуваний HTTP метод GET. давайте тепер подивимося на другий за популярністю HTTP метод - метод POST.

Опис HTTP методу POST. Приклад використання HTTP методу POST

HTTP метод POST є другим по використанню в Інтернеті і потрібен для того, щоб відправляти дані на сервер. HTTP метод POST дозволяє відправляти дані на сервер. Розробники ввели метод POST в HTTP стандарт, щоб клієнти могли:

  • залишати повідомлення на різних Інтернет-ресурсах;
  • передавати інформацію про себе, заповнюючи HTML форми;

Те, як буде працювати метод POST визначається виключно на стороні сервера і зазвичай залежить від запитуваної URI. Якщо порівняти URI, якого звертається клієнт і повідомлення, яке він хоче відправити з файлової системою, то URI - це папка, а повідомлення клієнта - це файл, який лежить в папці.

В результаті виконання HTTP методу POST сервер не обов'язково в якості ресурсу видає URI, код стану сервера при використанні HTTP методу POST може бути 200 (в цьому випадку ви отримаєте будь-якої ресурс), або 204 (в цьому випадку ви не отримаєте ніякого вмісту) . Відповіді сервера на метод POST НЕ кешуються, але це можна зробити примусово, якщо використовувати поле Cache-Control або Expires в заголовку.

Давайте наведемо приклад використання HTTP методу POST:

Найважливішими методами HTTP запитів є методи GET і POST. Метод POST дозволяє відправляти дані на сервер з HTML форм, а метод GET використовують в інтернеті все, так як метод HTTP запиту GET використовується для отримання інформації від сервера. Тобто HTTP запит з методом GET дозволяє отримати інформацію з сайту.