Kajian mendalam tentang pengepala permintaan HTTP di Golang

PHPz
Lepaskan: 2023-03-31 10:53:54
asal
1183 orang telah melayarinya

Golang (bahasa Go) ialah bahasa pengaturcaraan yang cekap dengan banyak ciri yang melaraskan keseluruhan pengalaman pembangunan. Di Golang, melalui pakej HTTP yang disediakan oleh perpustakaan standard, kami boleh membuat permintaan HTTP dengan mudah, yang mana pengepala permintaan HTTP juga merupakan bahagian yang sangat penting. Dalam artikel ini, kami akan mendalami pengepala permintaan HTTP di Golang.

Pengetahuan asas tentang pengepala permintaan HTTP

Pertama sekali, kita perlu memahami pengetahuan asas pengepala permintaan HTTP. Walaupun setiap pengepala permintaan HTTP mempunyai tujuan dan format yang unik, kami boleh mengklasifikasikannya ke dalam kategori berikut:

Pengepala universal

Pengepala universal boleh digunakan untuk semua jenis Pengepala untuk permintaan dan respons HTTP, bermakna kita boleh menggunakannya dalam setiap permintaan dan mesej respons. Pengepala ini termasuk Kawalan Cache, Sambungan, Tarikh, dsb. Pengepala biasa membantu kami menentukan kawalan cache, maklumat tarikh dan masa serta maklumat asas lain untuk mesej HTTP.

Pengepala Permintaan

Pengepala permintaan HTTP ialah maklumat pengepala yang disertakan semasa menghantar permintaan ke pelayan. Pengepala ini termasuk Terima, Terima-Pengekodan, Keizinan, dsb. Ia digunakan untuk menghantar maklumat yang berkaitan dengan permintaan, seperti jenis kandungan yang perlu diterima, skema pemampatan dan maklumat sijil yang digunakan untuk mengesahkan pengguna.

Pengepala Respons

Pengepala respons HTTP ialah pengepala yang dikembalikan oleh pelayan sebagai tindak balas kepada permintaan pelanggan. Pengepala ini termasuk Pelayan, Jenis Kandungan, Panjang Kandungan, dsb. Pengepala respons memberikan maklumat yang digunakan oleh pelayan, seperti panjang kandungan respons, jenis kandungan dan sistem pengendalian serta perisian yang digunakan oleh pelayan.

Pengepala permintaan HTTP dalam perpustakaan standard

Di Golang, pakej net/http yang disediakan dalam perpustakaan standard boleh membuat permintaan HTTP dengan mudah. Untuk menggunakan pengepala HTTP, kita perlu menentukan http.Transport apabila membuat instantiation http.Client:

transport := &http.Transport{}
client := &http.Client{
    Transport: transport,
}
Salin selepas log masuk

Di sini, Pengangkutan kosong dicipta, yang merupakan keperluan minimum untuk membuat instantiation kepada Klien. Kemudian kita boleh menambahkan pengepala pada permintaan. Dengan memanggil kaedah http.Header.Set, kami boleh menetapkan nilai atribut, seperti atribut User-Agent:

req, err := http.NewRequest("GET", url, nil)
req.Header.Set("User-Agent", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)")
Salin selepas log masuk

Mengambil permintaan di atas sebagai contoh, kami mencipta http.NewRequest dan menentukan kaedah HTTP dan URL untuk dilaksanakan. Kemudian, kami menetapkan atribut Ejen Pengguna, iaitu pengepala permintaan biasa yang memberitahu pelayan nama dan versi penyemak imbas serta sistem pengendalian yang menghantar permintaan itu.

Selain itu, sebagai tambahan kepada http.Request, kami juga boleh menetapkan pengepala permintaan dalam klien HTTP melalui kaedah berikut:

req.Header.Add("Accept-Language", "en-US")
req.Header.Add("Authorization", "Bearer "+authToken)
Salin selepas log masuk

Dalam coretan kod di atas, kami akan Accept-Language dan Pengepala Keizinan ditambahkan pada permintaan kami.

Pengepala permintaan HTTP tersuai

Selain menggunakan pengepala permintaan standard, kami juga boleh membuat pengepala permintaan HTTP tersuai di Golang. Ini boleh dimulakan dengan menggunakan kaedah Tambah atau Tetapkan dalam contoh http.Header:

header := http.Header{}
header.Set("X-Custom-Header", "my custom header value")
Salin selepas log masuk

Kod di atas mentakrifkan tika Header baharu dan menambah HTTP tersuai bernama X-Custom-Header Request header. Pengepala permintaan HTTP tersuai ini bagus untuk menghantar metadata khusus pelanggan untuk digunakan dalam permintaan dan respons seterusnya.

Ringkasan

Dalam artikel ini, kami mempelajari asas pengepala permintaan HTTP dan cara menggunakannya di Golang. Kami belajar tentang perbezaan antara pengepala universal, pengepala permintaan dan pengepala respons, dan mempelajari cara menetapkan dan menggunakan pengepala ini daripada pakej http dalam pustaka standard, serta cara membuat pengepala permintaan HTTP tersuai kami sendiri. Jika anda sedang membangunkan aplikasi berasaskan HTTP, artikel ini menyediakan beberapa petua dan pengetahuan yang sangat berguna untuk mengawal dan mengurus permintaan dan respons HTTP dengan lebih baik.

Atas ialah kandungan terperinci Kajian mendalam tentang pengepala permintaan HTTP di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!