Sobes.tech
Junior — Middle

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

sobes.tech AI

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

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

  1. მოთხოვნის ხაზი (Request Line) — შეიცავს მოთხოვნის მეთოდს (GET, POST და ა.შ.), URL-ს და HTTP პროტოკოლის ვერსიას.

  2. სათაურები (Headers) — კლავიატურის-ღირებულების წყვილების ნაკრები, რომელიც გადმოსცემს მეტა-ინფორმაციას მოთხოვნის შესახებ, მაგალითად Content-Type, Authorization, User-Agent.

  3. მოთხოვნის სხეული (Body) — სურვილისამებრ, შეიცავს მონაცემებს, რომლებიც კლიენტი აგზავნის სერვერს (მაგალითად, ფორმის მონაცემები ან JSON POST-ის დროს).

  4. ცარიელი ხაზი — გამოყოფს სათაურებს სხეულიდან.

კომპონენტების ურთიერთქმედება:

  • კლიენტი ქმნის მოთხოვნის ხაზს საჭირო მეთოდით და URL-ით.
  • დამატებს საჭირო სათაურებს მოთხოვნის აღწერისთვის.
  • თუ საჭიროა, დამატებს სხეულს მონაცემებით.
  • აგზავნის მოთხოვნას სერვერზე.

HTTP მოთხოვნის მაგალითი:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer token123

{"name": "John", "age": 30}

Node.js-ში HTTP მოთხოვნების დამუშავებისთვის გამოიყენება IncomingMessage (მოთხოვნისთვის) და ServerResponse (პასუხისთვის) ობიექტები, რომლებიც საშუალებას აძლევენ წაიკითხოთ მოთხოვნის დაწყებითი ხაზი, სათაურები და სხეული.