Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Чим відрізняються методи GET і POST під час відправлення форми?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Методи **`GET`** і **`POST`** - це два різних способи, якими HTML-форма передає дані на сервер: `GET` додає дані до URL після знака `?`, а `POST` відправляє їх «всередині» запиту, не видимими в адресі. **Ключове:** `GET` підходить для пошуку та фільтрів, бо дані видно й можна поділитися посиланням, а `POST` підходить для входу, оплати й реєстрації, бо дані приховані та безпечніші.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)ЗображенняМетоди `GET` і `POST`, це два різних способи, якими HTML-форма **передає дані на сервер**. Обидва використовуються в атрибуті `method` у тегу `<form>`, але **працюють по-різному**: відрізняються **тим, де зберігаються дані, що видно користувачу, яка безпека та сфера застосування**. --- ### 1. Головна різниця, **куди потрапляють дані** | Метод | Як передаються дані | |---|---| | **GET** | Дані додаються в адресний рядок (URL) після знака `?` | | **POST** | Дані відправляються «всередині» запиту, не видні в адресі | Приклад: #### GET: ```html <form action="/search" method="get"> <input name="q" value="телефон"> <button>Знайти</button> </form> ``` → браузер відправить: ```javascript /search?q=телефон ``` #### POST: ```html <form action="/login" method="post"> <input name="user" value="Oleh"> <input name="pass" value="12345"> <button>Увійти</button> </form> ``` → браузер відправить: ```javascript POST /login Content-Type: application/x-www-form-urlencoded user=Oleh&pass=12345 ``` Адреса залишиться просто `/login`, без даних. --- ### 2. Що бачить користувач | Характеристика | GET | POST | |---|---|---| | Видно в адресному рядку | Так | Ні | | Можна зберегти або поділитися посиланням | Так | Ні | | Безпека | Низька (усі дані в URL) | Вища (дані приховані) | Приклад: Якщо ви відправляєте форму логіну через GET, адреса може стати: ```javascript /login?user=Oleh&pass=12345 ``` → пароль буде видно всім. Тому такі форми **завжди використовують POST**. --- ### 3. Обмеження та розмір | Параметр | GET | POST | |---|---|---| | Максимальна довжина | обмежена (~2000 символів) | практично не обмежена | | Передавання файлів | не можна | можна | | Кешування браузером | так | ні | | Додавання в історію | так | ні | --- ### 4. Де застосовується | Метод | Де використовується | Приклад | |---|---|---| | **GET** | Пошук, фільтри, навігація | `/search?q=python` | | **POST** | Реєстрація, вхід, оплата, відправлення форм | `/register`, `/checkout` | Просте правило: - якщо дія **нічого не змінює** (лише запитує дані) → `GET`; - якщо дія **змінює дані** (відправлення, додавання, видалення) → `POST`. --- ### 5. SEO і кешування - `GET`-сторінки індексуються пошуковиками (підходять для посилань і фільтрів); - `POST`-сторінки **не індексуються** і не зберігаються в історії; - `GET` можна безпечно перезавантажити (не викликає повторного відправлення даних). --- ### Підсумок, коротка таблиця відмінностей: | Критерій | **GET** | **POST** | |---|---|---| | Де зберігаються дані | В URL | В тілі запиту | | Видно користувачу | Так | Ні | | Обмеження за довжиною | Є (~2000 символів) | Немає | | Безпека | Низька | Вища | | Можна зробити закладку / поділитися посиланням | Так | Ні | | Підходить для | Пошуку, фільтрів, посилань | Форм входу, замовлень, реєстрації | | Індексація пошуковиками | Так | Ні | | Повторний запит (оновлення сторінки) | Безпечно | Може спричинити дублювання дій | --- **Простими словами:** - `GET`: як **листівка**, все, що ви пишете, видно зовні. - `POST`: як **лист у конверті**, вміст прихований, безпечніше і підходить для важливих даних.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.