Junior — Middle
შესაძლებელია თუ არა ბინარული მონაცემების გადაცემა HTTP/1.1 პროტოკოლით?
sobes.tech AI
პასუხი AI-სგან
დიახ, HTTP/1.1 პროტოკოლით შესაძლებელია ბინარული მონაცემების გადაცემა. HTTP არ აკრძალავს გადაცემული მონაცემების ტიპს: მოთხოვნის და პასუხის სხეული შეიძლება შეიცავდეს ნებისმიერ ბაიტს. სწორი ბინარული მონაცემების გადაცემისთვის ჩვეულებრივ მითითებულია შესაბამისი Content-Type სათაური, მაგალითად, application/octet-stream ან ფაილის კონკრეტული MIME ტიპი (მაგალითად, image/png).
Go-ში ბინარული მონაცემების გადაცემის მაგალითი:
resp, err := http.Get("https://example.com/image.png")
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// ბინარული მონაცემების კითხვა პასუხის სხეულიდან
data, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
// data შეიცავს ფაილის ბინარულ შიგთავსს
ამიტომ, HTTP/1.1 სრულად მხარს უჭერს ბინარული მონაცემების გადაცემას დამატებითი კოდირების გარეშე.