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 պարամետրերով նշումներում | Չի կարող (համար սովորական ձևի ուղարկման մեթոդներ) |
Օրինակ GET օգտագործման PHP-ում:
<?php
// `id` պարամետրի ստացում URL-ից
$userId = $_GET['id'];
echo "User ID: " . htmlspecialchars($userId);
?>
Օրինակ POST օգտագործման PHP-ում (փաստաթղթի տվյալների մշակումը):
<?php
// Ստուգում, արդյոք հարցումը POST է
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Տվյալների ստացում հարցման մարմնից
$username = $_POST['username'];
$password = $_POST['password'];
// Տվյալների հետագա մշակումը (օր.՝ տվյալների բազայում)
echo "Username: " . htmlspecialchars($username) . "<br>";
echo "Password received.";
}
?>