
Cliente HTTP
http.Client, requests, timeouts, transport, redirecciones, cookies, headers personalizados
1¿Cuál es la principal diferencia entre http.Get y http.Client.Get?
¿Cuál es la principal diferencia entre http.Get y http.Client.Get?
Respuesta
http.Get usa un cliente HTTP por defecto (http.DefaultClient) que no ofrece ninguna personalización, mientras que http.Client.Get permite configurar parámetros como timeouts, políticas de redirección o transport personalizado. En producción, se recomienda crear un cliente HTTP personalizado para controlar el comportamiento de las peticiones y evitar bloqueos indefinidos.
2¿Qué pasa si http.Client.Timeout no está definido?
¿Qué pasa si http.Client.Timeout no está definido?
Respuesta
Sin un timeout explícito, el cliente HTTP espera indefinidamente la respuesta del servidor, lo que puede bloquear la aplicación si el servidor no responde. El timeout por defecto es cero, lo que significa sin límite de tiempo. Siempre define un timeout razonable en producción para evitar goroutines bloqueadas y fugas de recursos.
3¿Cómo agregar headers personalizados a una petición HTTP?
¿Cómo agregar headers personalizados a una petición HTTP?
Respuesta
Los headers personalizados se agregan mediante http.Request.Header.Set() o Header.Add() después de crear la petición con http.NewRequest. El método Set reemplaza los valores existentes mientras que Add añade un nuevo valor para la misma clave. Este enfoque es necesario para la autenticación, la negociación de contenido o el seguimiento de peticiones con identificadores personalizados.
¿Por qué es importante llamar a response.Body.Close()?
¿Qué método HTTP permite enviar datos JSON al servidor?
+15 preguntas de entrevista
Otros temas de entrevista Go
Fundamentos de Go
Estructuras de datos en Go
Interfaces en Go
Manejo de errores
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Codificación JSON
Database/SQL
Paquete context
Testing
Patrones de concurrencia
Primitivas de sincronización
Frameworks web de Go
Diseño de API REST
gRPC
Reflection
Gestión de memoria
Optimización del rendimiento
Generics
Go Design Patterns
Microservices
Seguridad y autenticación
Docker & Containerization
Kubernetes Basics
Go Avanzado
Desarrollo de CLI
Domina Go para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis