Go

Client HTTP

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

18 questions d'entretien·
Confirmé
1

Quelle est la principale différence entre http.Get et http.Client.Get ?

Réponse

http.Get utilise un client HTTP par défaut (http.DefaultClient) qui n'offre aucune personnalisation, tandis que http.Client.Get permet de configurer des paramètres comme les timeouts, les politiques de redirection ou le transport personnalisé. En production, il est recommandé de créer un client HTTP personnalisé pour contrôler le comportement des requêtes et éviter les blocages indéfinis.

2

Que se passe-t-il si http.Client.Timeout n'est pas défini ?

Réponse

Sans timeout explicite, le client HTTP attend indéfiniment la réponse du serveur, ce qui peut bloquer l'application si le serveur ne répond pas. Le timeout par défaut est zéro, ce qui signifie aucune limite de temps. Toujours définir un timeout raisonnable en production pour éviter les goroutines bloquées et les fuites de ressources.

3

Comment ajouter des headers personnalisés à une requête HTTP ?

Réponse

Les headers personnalisés s'ajoutent via http.Request.Header.Set() ou Header.Add() après création de la requête avec http.NewRequest. La méthode Set remplace les valeurs existantes tandis que Add ajoute une nouvelle valeur pour la même clé. Cette approche est nécessaire pour l'authentification, la négociation de contenu ou le suivi des requêtes avec des identifiants personnalisés.

4

Pourquoi est-il important d'appeler response.Body.Close() ?

5

Quelle méthode HTTP permet d'envoyer des données JSON au serveur ?

+15 questions d'entretien

Maîtrise Go pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement