Go

Klien HTTP

http.Client, request, timeout, transport, redirect, cookie, header kustom

18 pertanyaan wawancaraยท
Mid-Level
1

Apa perbedaan utama antara http.Get dan http.Client.Get?

Jawaban

http.Get menggunakan klien HTTP default (http.DefaultClient) yang tidak menawarkan kustomisasi, sedangkan http.Client.Get memungkinkan konfigurasi parameter seperti timeout, kebijakan redirect, atau transport kustom. Di produksi, disarankan membuat klien HTTP kustom untuk mengontrol perilaku request dan menghindari pemblokiran tanpa batas.

2

Apa yang terjadi jika http.Client.Timeout tidak diatur?

Jawaban

Tanpa timeout eksplisit, klien HTTP menunggu respons server tanpa batas, yang dapat memblokir aplikasi jika server tidak merespons. Timeout default adalah nol, artinya tanpa batas waktu. Selalu atur timeout yang wajar di produksi untuk menghindari goroutine yang terblokir dan kebocoran sumber daya.

3

Bagaimana cara menambahkan header kustom ke request HTTP?

Jawaban

Header kustom ditambahkan melalui http.Request.Header.Set() atau Header.Add() setelah membuat request dengan http.NewRequest. Metode Set mengganti nilai yang ada sedangkan Add menambahkan nilai baru untuk kunci yang sama. Pendekatan ini diperlukan untuk autentikasi, negosiasi konten, atau pelacakan request dengan identifier kustom.

4

Mengapa penting untuk memanggil response.Body.Close()?

5

Metode HTTP mana yang memungkinkan pengiriman data JSON ke server?

+15 pertanyaan wawancara

Kuasai Go untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis