Réutilisation des connexions HTTP dans Go
Lors de plusieurs requêtes HTTP, il est essentiel de réutiliser les connexions pour éviter une consommation inutile de ressources et améliorer les performances. Dans Go, cela peut être réalisé en suivant un ensemble de directives simples.
Tout d'abord, créez un client de transport et HTTP global. Cela garantit que toutes les requêtes sont traitées par le même pool de connexions sous-jacent :
// Create a new transport and HTTP client tr := &http.Transport{} client := &http.Client{Transport: tr}
Ensuite, transmettez toujours le même client HTTP à vos goroutines qui effectuent des requêtes HTTP :
r, err := client.Post(url, "application/json", post)
Cependant, la réutilisation des connexions n'est pas activée par défaut. Pour garantir qu'elle est correctement utilisée, il est crucial de lire l'intégralité de la réponse HTTP et de fermer explicitement le corps par la suite :
res, _ := client.Do(req) io.Copy(ioutil.Discard, res.Body) res.Body.Close()
En vous assurant que la réponse est entièrement lue et que le corps est fermé, la connexion peut être établie en toute sécurité. retourné à la piscine pour réutilisation dans les demandes ultérieures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!