Sobes.tech
Junior

HTTP მოთხოვნა რომელ კომპონენტებს შეიცავს?

sobes.tech AI

პასუხი AI-სგან

HTTP-საკითხი შედგება შემდეგი კომპონენტებისგან:

  1. დაწყებითი ხაზი (Request Line): განსაზღვრავს მოთხოვნის ტიპს და რესურსს. შედგება:

    • HTTP მეთოდი (HTTP Method): მოქმედება, რომელიც უნდა შესრულდეს რესურსზე (მაგალითად, GET, POST, PUT, DELETE).
    • რესურსის გზა (Path): URL გზა მოთხოვნილ რესურსზე სერვერზე.
    • HTTP ვერსია (HTTP Version): HTTP პროტოკოლის ვერსია, რომელიც გამოიყენება მოთხოვნისთვის (მაგალითად, HTTP/1.1, HTTP/2.0).
    // მაგალითი დაწყებითი ხაზის
    GET /index.html HTTP/1.1
    
  2. მოთხოვნის სათაურები (Request Headers): უზრუნველყოფს დამატებით ინფორმაციას კლიენტის, მოთხოვნის ან რესურსის შესახებ. სათაურების პარამეტრები წარმოდგენილია ფორმატში "სახელი: მნიშვნელობა". ძირითადი სათაურები:

    • Host: სერვერის დომენის სახელი.
    • User-Agent: კლიენტის ინფორმაცია (ბრაუზერი, ოპერაციული სისტემა).
    • Accept: ტიპები, რომლებსაც კლიენტი მზად არის მიიღოს.
    • Content-Type: შიგთავსის ტიპი (POST/PUT მეთოდებისთვის).
    • Content-Length: მოთხოვნის სხეულის სიგრძე ბაიტებში.
    • Authorization: ავტორიზაციის მონაცემები.
    // მოთხოვნის სათაურების მაგალითები
    Host: www.example.com
    User-Agent: Mozilla/5.0
    Accept: text/html
    
  3. ცარიელი ხაზი (Empty Line): გამოყოფს მოთხოვნის სათაურებს და მოთხოვნის სხეულს. აუცილებელია, თუნდაც სხეული არ იყოს.

  4. მოთხოვნის სხეული (Request Body): შეიცავს მონაცემებს, რომლებიც იგზავნება სერვერზე, მაგალითად, ფორმის მონაცემები, JSON POST/PUT მოთხოვნებისთვის. არ არის ყველა მეთოდისთვის (მაგალითად, არ არის GET-სთვის).

    // მოთხოვნის სხეულის მაგალითი (POST/PUT)
    {
      "name": "John Doe",
      "age": 30
    }
    

სქემატურად, HTTP-საკითხის სტრუქტურას ასე შეიძლება წარმოადგინოს:

კომპონენტი აღწერა აუცილებლობა
დაწყებითი ხაზი მეთოდი, რესურსის გზა, HTTP ვერსია ყოველთვის
მოთხოვნის სათაურები დამატებითი ინფორმაცია მოთხოვნის/კლიენტის შესახებ ოპციონალური
ცარიელი ხაზი გამყოფი ყოველთვის
მოთხოვნის სხეული მონაცემები, რომლებიც იგზავნება სერვერზე ოპციონალური