Sobes.tech
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.";
}
?>