Go

Klient HTTP

http.Client, requesty, timeouty, transport, przekierowania, cookies, niestandardowe nagłówki

18 pytań z rozmów·
Mid-Level
1

Jaka jest główna różnica między http.Get a http.Client.Get?

Odpowiedź

http.Get używa domyślnego klienta HTTP (http.DefaultClient), który nie oferuje żadnej personalizacji, natomiast http.Client.Get pozwala konfigurować parametry takie jak timeouty, polityki przekierowań czy niestandardowy transport. W produkcji zaleca się utworzenie niestandardowego klienta HTTP, aby kontrolować zachowanie requestów i uniknąć bezterminowego blokowania.

2

Co się stanie, jeśli http.Client.Timeout nie zostanie ustawiony?

Odpowiedź

Bez jawnego timeoutu klient HTTP czeka na odpowiedź serwera bezterminowo, co może zablokować aplikację, jeśli serwer nie odpowiada. Domyślny timeout wynosi zero, co oznacza brak limitu czasu. Zawsze ustawiaj rozsądny timeout w produkcji, aby uniknąć zablokowanych goroutine i wycieków zasobów.

3

Jak dodać niestandardowe nagłówki do żądania HTTP?

Odpowiedź

Niestandardowe nagłówki dodaje się przez http.Request.Header.Set() lub Header.Add() po utworzeniu żądania za pomocą http.NewRequest. Metoda Set zastępuje istniejące wartości, podczas gdy Add dodaje nową wartość dla tego samego klucza. To podejście jest niezbędne do uwierzytelniania, negocjacji treści lub śledzenia żądań za pomocą niestandardowych identyfikatorów.

4

Dlaczego ważne jest wywołanie response.Body.Close()?

5

Która metoda HTTP umożliwia wysłanie danych JSON do serwera?

+15 pytań z rozmów

Opanuj Go na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo