Intern
Кадом намудҳои дархости HTTP вуҷуд доранд?
sobes.tech AI
Ҷавоб аз AI
Төп HTTP-закликане видове: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Описание на най-често срещаните:
- GET: Изисква представяне на посочения ресурс. Тази заявка трябва да получава само данни.
- POST: Изпраща данни за обработка към определен ресурс. Често резултатът е промяна на състоянието или странични ефекти на сървъра.
- PUT: Заменя всички текущи представяния на целевия ресурс с данните от тялото на заявката.
- DELETE: Изтрива посочения ресурс.
- PATCH: Прилaга частични модификации към ресурса.
- 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.";
}
?>