Sobes.tech
Junior — Middle

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

sobes.tech AI

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

როდესაც მომხმარებელი აკრეფს URL-ს ბრაუზერში და დააჭერს Enter-ს, ხდება შემდეგი პროცესი:

  1. კლიენტი (ბრაუზერი):

    • DNS-ის საშუალებით აძლიერებს დომენის სახელს IP-ადრეს.
    • ქმნის TCP კავშირს სერვერთან (საშუალოდ 80 პორტი HTTP-ისთვის ან 443 პორტი HTTPS-ისთვის).
    • აგზავნის HTTP მოთხოვნას (GET, POST და სხვა) სერვერზე.
  2. სერვერი:

    • იღებს და პროცესავს მოთხოვნას (მაგალითად, ვებ სერვერი ან ბექენდი აპლიკაცია).
    • ქმნის HTTP პასუხს საჭირო მონაცემებით (HTML, JSON, სურათები და სხვა).
    • აბრუნებს პასუხს მომხმარებელზე.
  3. კლიენტი:

    • იღებს პასუხს, პროცესავს მას (მაგალითად, რენდერებს HTML-ს, ასრულებს JavaScript-ს).
    • საჭიროების შემთხვევაში, იტვირთება დამატებითი რესურსები (CSS, JS, სურათები).

Go-ში HTTP მოთხოვნის დამუშავების მაგალითი:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "გამარჯობა, თქვენ მოითხოვეთ: %s", r.URL.Path)
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

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