Sobes.tech
Junior — Middle

Ar galima perduoti dvejetainius duomenis per HTTP/1.1 protokolą?

sobes.tech AI

Atsakymas iš AI

Taip, naudojant HTTP/1.1 protokolą galima perduoti dvejetainius duomenis. HTTP neriboja perduodamų duomenų tipo: užklausos ir atsakymo kūnas gali turėti bet kokius baitus. Norint teisingai perduoti dvejetainius duomenis, dažnai nurodomas atitinkamas Content-Type antraštė, pavyzdžiui, application/octet-stream arba konkretus MIME tipas (pvz., image/png).

Pavyzdys, kaip perduoti dvejetainius duomenis Go kalba:

resp, err := http.Get("https://example.com/image.png")
if err != nil {
    log.Fatal(err)
}
defer resp.Body.Close()

// Skaityti dvejetainius duomenis iš atsakymo kūno
data, err := io.ReadAll(resp.Body)
if err != nil {
    log.Fatal(err)
}

// data turi būti binarinio failo turinys

Todėl HTTP/1.1 visiškai palaiko dvejetainių duomenų perdavimą be papildomo kodavimo.