Go

HTTP İstemcisi

http.Client, request'ler, timeout'lar, transport, yönlendirmeler, cookie'ler, özel header'lar

18 mülakat soruları·
Mid-Level
1

http.Get ve http.Client.Get arasındaki temel fark nedir?

Cevap

http.Get hiçbir özelleştirme sunmayan varsayılan bir HTTP istemcisi (http.DefaultClient) kullanır, http.Client.Get ise timeout'lar, yönlendirme politikaları veya özel transport gibi parametrelerin yapılandırılmasına izin verir. Üretimde, request davranışını kontrol etmek ve süresiz bloklanmayı önlemek için özel bir HTTP istemcisi oluşturmak önerilir.

2

http.Client.Timeout ayarlanmazsa ne olur?

Cevap

Açık bir timeout olmadan, HTTP istemcisi sunucu yanıtını süresiz bekler; bu da sunucu yanıt vermezse uygulamayı bloklayabilir. Varsayılan timeout sıfırdır, yani zaman sınırı yoktur. Bloklanan goroutine'leri ve kaynak sızıntılarını önlemek için üretimde her zaman makul bir timeout ayarlayın.

3

Bir HTTP request'ine özel header'lar nasıl eklenir?

Cevap

Özel header'lar, request http.NewRequest ile oluşturulduktan sonra http.Request.Header.Set() veya Header.Add() ile eklenir. Set metodu mevcut değerleri değiştirir, Add ise aynı anahtar için yeni bir değer ekler. Bu yaklaşım kimlik doğrulama, içerik müzakeresi veya request'leri özel tanımlayıcılarla izleme için gereklidir.

4

response.Body.Close() çağırmak neden önemlidir?

5

Hangi HTTP metodu sunucuya JSON verisi göndermeye olanak tanır?

+15 mülakat soruları

Bir sonraki mülakatın için Go'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla