Intern
Kokie yra HTTP užklausų tipai?
sobes.tech AI
Atsakymas iš AI
Pagrindiniai HTTP užklausų tipai: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Aprašymas dažniausiai naudojamų:
- GET: Prašo parodyti nurodytą išteklių. Šio metodo užklausos turėtų gauti tik duomenis.
- POST: Siunčia duomenis apdorojimui į tam tikrą išteklių. Dažnai rezultatas yra būsenos pakeitimas arba šalutiniai efektai serveryje.
- PUT: Pakeičia visus esamus tikslinio ištekliaus vaizdus duomenimis iš užklausos kūno.
- DELETE: Ištrina nurodytą išteklių.
- PATCH: Taikomi daliniai pakeitimai ištekliui.
- HEAD: Prašo antraščių kaip ir
GET, bet be atsakymo kūno. Naudojama metaduomenims gauti. - OPTIONS: Aprašo ryšio parametrus tiksliniam ištekliui.
- CONNECT: Paverčia prašomą jungtį į skaidrią TCP/IP proxy serverį.
- TRACE: Atlieka atgalinio ryšio testą keliu iki tikslo ištekliaus.
Skirtumai tarp GET ir POST:
| Žymuo | GET | POST |
|---|---|---|
| Tikslas | Gauti duomenis | Siųsti duomenis apdorojimui |
| Duomenų perdavimas | Per URL parametrus (Query String) | Per užklausos kūną |
| Sauga | Idempotentinis (pakartotinės užklausos nekeičia būsenos) | Neidempotentinis |
| Duomenų matomumas | Matomi URL, saugomi naršyklės istorijoje, serverio žurnaluose | Nematomai URL, neįrašomi naršyklės istorijoje |
| Dydis | Apribotas URL ilgiu | Be apribojimų (arba labai didelis) |
| Kaušas | Gali būti kaušas | Neskaitomas pagrindinėmis priemonėmis |
| Žymės | Galima pridėti puslapį su GET parametrais žymėse | Negalima (įprastais formos siuntimo metodais) |
PHP pavyzdys naudojant GET:
<?php
// Gauti `id` parametrą iš URL
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
PHP pavyzdys naudojant POST (formos duomenų apdorojimas):
<?php
// Patikrinimas, ar užklausa yra POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Gauti duomenis iš užklausos kūno
$username = $_POST['username'];
$password = $_POST['password'];
// Tolimesnė duomenų apdorojimas (pvz., įrašymas į duomenų bazę)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>