
HTTP-client
http.Client, requests, timeouts, transport, redirects, cookies, aangepaste headers
1Wat is het belangrijkste verschil tussen http.Get en http.Client.Get?
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.
2Wat gebeurt er als http.Client.Timeout niet is ingesteld?
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.
3Hoe voeg je aangepaste headers toe aan een HTTP-request?
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.
Waarom is het belangrijk om response.Body.Close() aan te roepen?
Welke HTTP-methode maakt het mogelijk JSON-gegevens naar de server te sturen?
+15 gespreksvragen
Andere Go-sollicitatieonderwerpen
Go-basis
Go-datastructuren
Go-interfaces
Foutafhandeling
Goroutines-basis
Channels
Go Modules
HTTP-server
JSON-codering
Database/SQL
context-pakket
Testing
Concurrency-patronen
Synchronisatieprimitieven
Go-webframeworks
REST API-ontwerp
gRPC
Reflection
Geheugenbeheer
Prestatie-optimalisatie
Generics
Go Design Patterns
Microservices
Beveiliging en authenticatie
Docker & Containerization
Kubernetes Basics
Geavanceerd Go
CLI-ontwikkeling
Beheers Go voor je volgende gesprek
Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.
Begin gratis