Intern
Koje vrste HTTP zahteva postoje?
sobes.tech АИ
Одговор од АИ
Основне врсте HTTP захтева: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Опис најчешће коришћених:
- GET: Захтева приказ одређеног ресурса. Овај захтев треба да добије само податке.
- POST: Шаље податке на обраду одређеном ресурсу. Често резултат може бити промена стања или споредни ефекти на серверу.
- PUT: Замењује сваки тренутни приказ целог целног ресурса подацима из тела захтева.
- DELETE: Брише одређени ресурс.
- PATCH: Примењује делимичне измене ресурса.
- HEAD: Захтева заглавља као и
GET, али без тела одговора. Користи се за добијање метаподатака. - OPTIONS: Описује параметре везе за целни ресурс.
- CONNECT: Претвара захтевану везу у прозирни TCP/IP прокси сервер.
- TRACE: Извршава тест повратне везе путем до целног ресурса.
Разлике између GET и POST:
| Карактеристика | GET | POST |
|---|---|---|
| Циљ | Добијање података | Пошаљи податке на обраду |
| Пренос података | Преко параметара у URL-у (Query String) | Преко тела захтева |
| Безбедност | Идемпотентан (повторни захтеви не мењају стање) | Неидемпотентан |
| Видљивост података | Видљиви у URL-у, сачувани у историји прегледача, логовима сервера | Нису видљиви у URL-у, не сачувани у историји прегледача |
| Готовина података | Ограничена дужином URL-а | Без ограничења (или веома велика) |
| Кеширање | Може се кеширати | Не кешира се основним средствима |
| Обележивање | Може додати страницу са GET параметрима у обележиваче | Не може (за обичне методе слања форми) |
Пример коришћења GET у PHP:
<?php
// Добијање параметра 'id' из URL-а
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
Пример коришћења POST у PHP (обрада података форме):
<?php
// Провера да ли је захтев методом POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Добијање података из тела захтева
$username = $_POST['username'];
$password = $_POST['password'];
// Даља обрада података (нпр. чување у базу)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>