Junior — Middle
როგორ მუშაობს HTTP მოთხოვნების დამუშავების პროცესი ბრაუზერში და რა ხდება კლიენტის და სერვერის მხარეს?
sobes.tech AI
პასუხი AI-სგან
როდესაც მომხმარებელი აკრეფს URL-ს ბრაუზერში და დააჭერს Enter-ს, ხდება შემდეგი პროცესი:
-
კლიენტი (ბრაუზერი):
- DNS-ის საშუალებით აძლიერებს დომენის სახელს IP-ადრეს.
- ქმნის TCP კავშირს სერვერთან (საშუალოდ 80 პორტი HTTP-ისთვის ან 443 პორტი HTTPS-ისთვის).
- აგზავნის HTTP მოთხოვნას (GET, POST და სხვა) სერვერზე.
-
სერვერი:
- იღებს და პროცესავს მოთხოვნას (მაგალითად, ვებ სერვერი ან ბექენდი აპლიკაცია).
- ქმნის HTTP პასუხს საჭირო მონაცემებით (HTML, JSON, სურათები და სხვა).
- აბრუნებს პასუხს მომხმარებელზე.
-
კლიენტი:
- იღებს პასუხს, პროცესავს მას (მაგალითად, რენდერებს 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 სერვერს, რომელიც პასუხობს ყველა მოთხოვნას, სადაც მოცემულია მოთხოვნილი გზა.