Go

HTTP-client

http.Client, requests, timeouts, transport, redirects, cookies, aangepaste headers

18 gespreksvragen·
Mid-Level
1

Wat is het belangrijkste verschil tussen http.Get en http.Client.Get?

Antwoord

http.Get gebruikt een standaard HTTP-client (http.DefaultClient) die geen aanpassing biedt, terwijl http.Client.Get het mogelijk maakt parameters zoals timeouts, redirect-beleid of een aangepaste transport te configureren. In productie wordt aanbevolen een aangepaste HTTP-client te maken om het gedrag van requests te beheersen en onbeperkt blokkeren te voorkomen.

2

Wat gebeurt er als http.Client.Timeout niet is ingesteld?

Antwoord

Zonder een expliciete timeout wacht de HTTP-client onbeperkt op het serverantwoord, wat de applicatie kan blokkeren als de server niet reageert. De standaard timeout is nul, wat geen tijdslimiet betekent. Stel in productie altijd een redelijke timeout in om geblokkeerde goroutines en resource-lekken te voorkomen.

3

Hoe voeg je aangepaste headers toe aan een HTTP-request?

Antwoord

Aangepaste headers worden toegevoegd via http.Request.Header.Set() of Header.Add() nadat de request met http.NewRequest is gemaakt. De Set-methode vervangt bestaande waarden, terwijl Add een nieuwe waarde voor dezelfde sleutel toevoegt. Deze aanpak is nodig voor authenticatie, content-onderhandeling of het volgen van requests met aangepaste identifiers.

4

Waarom is het belangrijk om response.Body.Close() aan te roepen?

5

Welke HTTP-methode maakt het mogelijk JSON-gegevens naar de server te sturen?

+15 gespreksvragen

Beheers Go voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis