
Client HTTP
http.Client, requests, timeouts, transport, redirects, cookies, custom headers
1Quelle est la principale différence entre http.Get et http.Client.Get ?
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.
2Que se passe-t-il si http.Client.Timeout n'est pas défini ?
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.
3Comment ajouter des headers personnalisés à une requête HTTP ?
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.
Pourquoi est-il important d'appeler response.Body.Close() ?
Quelle méthode HTTP permet d'envoyer des données JSON au serveur ?
+15 questions d'entretien
Autres sujets d'entretien Go
Les bases de Go
Structures de données Go
Interfaces Go
Gestion des erreurs
Goroutines basiques
Channels
Go Modules
Serveur HTTP
Encodage JSON
database/sql
Package context
Testing
Patterns de concurrence
Primitives de synchronisation
Frameworks web Go
Design d'API REST
gRPC
Reflection
Gestion mémoire
Optimisation des performances
Generics
Design Patterns Go
Microservices
Sécurité & Authentication
Docker & Containerization
Kubernetes Basics
Go Avancé
Développement CLI
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