Intern
Millised on HTTP-päringute tüübid?
sobes.tech AI
Vastus AI-lt
Peamised HTTP-päringu tüübid: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Kirjeldus kõige levinumatest:
- GET: Nõuab märgitud ressursi kuvamist. Selle meetodiga tehtud päringud peaksid saama ainult andmeid.
- POST: Saadab andmeid töötlemiseks määratud ressursile. Tulemuseks võib olla oleku muutus või kõrvaltoimed serveris.
- PUT: Asendab kõik praegused vaated sihtressursil andmetega päringu kehas.
- DELETE: Kustutab märgitud ressursi.
- PATCH: Rakendab osalisi muudatusi ressursile.
- HEAD: Nõuab päiseid nagu
GET, kuid ilma vastuse kehas. Kasutatakse metaandmete saamiseks. - OPTIONS: Kirjeldab sihtressursi ühenduse parameetreid.
- CONNECT: Muudab nõutud ühenduse läbipaistvaks TCP/IP proxy-serveriks.
- TRACE: Teostab tagasipöördumise testi sihtressursi teekonnal.
Erinevused GET ja POST vahel:
| Omadus | GET | POST |
|---|---|---|
| Eesmärk | Andmete saamine | Andmete saatmine töötlemiseks |
| Andmete edastamine | URL-i parameetrite kaudu (Query String) | Päringu kehas |
| Turvalisus | Idempotentne (korduvad päringud ei muuda olekut) | Mitte-idempotentne |
| Andmete nähtavus | Nähtav URL-is, salvestub brauseri ajaloos, serveri logides | Nähtamatu URL-is, ei salvestu brauseri ajaloos |
| Andmete suurus | Piiratud URL-i pikkusega | Piiramatu (või väga suur) |
| Puhverdamine | Võib puhverdada | Ei puhverdata põhivahenditega |
| Järjehoidjad | Võib lisada lehekülje GET-parameetritega järjehoidjatesse | Ei saa (tavaliste vormi saatmise meetoditega) |
PHP näide GET kasutamisest:
<?php
// `id` parameetri saamine URL-ist
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
PHP näide POST kasutamisest (vormi andmete töötlemine):
<?php
// Kontroll, kas päring on POST
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Andmete saamine päringu kehas
$username = $_POST['username'];
$password = $_POST['password'];
// Andmete edasine töötlemine (nt andmebaasi salvestamine)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>