Intern
HTTP суроолорунун кайсы түрлөрү бар?
sobes.tech AI
AIден жооп
Негизги 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 параметрлери менен баракча кошуу | Жөнөтүү үчүн кадимки ыкмалар менен мүмкүн эмес |
PHPда GET колдонуу мисалы:
<?php
// URLден 'id' параметрин алуу
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
PHPда POST колдонуу мисалы (форма маалыматтарын иштетүү):
<?php
// POST ыкмасы менен суроо экенин текшерүү
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Суроо денесинен маалымат алуу
$username = $_POST['username'];
$password = $_POST['password'];
// Маалыматты ары карай иштетүү (мисалы, базага сактоо)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>