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
// 'id' პარამეტრის მიღება URL-დან
$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.";
}
?>