Intern
Kādi ir HTTP pieprasījumu veidi?
sobes.tech AI
Atbilde no AI
Galvenie HTTP pieprasījumu veidi: GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, CONNECT.
Apraksts par biežāk izmantotajiem:
- GET: Pieprasīt norādītā resursa attēlojumu. Šim pieprasījumam jāsaņem tikai dati.
- POST: Sūta datus apstrādei uz noteiktu resursu. Bieži rezultāts ir stāvokļa maiņa vai blakus efekti serverī.
- PUT: Aizvieto visus pašreizējos attēlojumus mērķa resursā ar datiem no pieprasījuma ķermeņa.
- DELETE: Dzēš norādīto resursu.
- PATCH: Pielieto daļējas modifikācijas resursam.
- HEAD: Pieprasa galvenes kā
GET, bet bez atbildes ķermeņa. Izmanto metadatu saņemšanai. - OPTIONS: Apraksta saziņas parametrus mērķa resursam.
- CONNECT: Pārvērš pieprasīto savienojumu caurspīdīgā TCP/IP starpniekserverī.
- TRACE: Veic atgriezeniskās saites testu pa ceļu uz mērķa resursu.
Atšķirības starp GET un POST:
| Raksturlielums | GET | POST |
|---|---|---|
| Mērķis | Datu saņemšana | Datu sūtīšana apstrādei |
| Datu pārraide | Pa URL parametriem (Query String) | Pa pieprasījuma ķermeni |
| Drošība | Idempotisks (atkārtotas pieprasījumi nemaina stāvokli) | Nav idempotisks |
| Datu redzamība | Redzams URL, saglabājas pārlūkprogrammas vēsturē, servera žurnālos | Nav redzams URL, nesaglabājas pārlūkprogrammas vēsturē |
| Datu lielums | Ierobežots URL garumā | Bez ierobežojuma (vai ļoti liels) |
| Kešatmiņa | Var tikt kešatbildēts | Nav kešatbildēts ar galvenajiem līdzekļiem |
| Grāmatzīmes | Var pievienot lapu ar GET parametriem grāmatzīmēm | Nav iespējams (parastās formas sūtīšanas metodes) |
PHP piemērs ar GET:
<?php
// Saņem `id` parametru no URL
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
PHP piemērs ar POST (formas datu apstrāde):
<?php
// Pārbauda, vai pieprasījums ir ar POST metodi
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Saņem datus no pieprasījuma ķermeņa
$username = $_POST['username'];
$password = $_POST['password'];
// Turpmāka datu apstrāde (piemēram, datu bāzē saglabāšana)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>