
Cliente HTTP
http.Client, requests, timeouts, transport, redirecionamentos, cookies, headers personalizados
1Qual é a principal diferença entre http.Get e http.Client.Get?
Qual é a principal diferença entre http.Get e http.Client.Get?
Resposta
http.Get usa um cliente HTTP padrão (http.DefaultClient) que não oferece nenhuma personalização, enquanto http.Client.Get permite configurar parâmetros como timeouts, políticas de redirecionamento ou transport personalizado. Em produção, é recomendado criar um cliente HTTP personalizado para controlar o comportamento das requisições e evitar bloqueios indefinidos.
2O que acontece se http.Client.Timeout não for definido?
O que acontece se http.Client.Timeout não for definido?
Resposta
Sem um timeout explícito, o cliente HTTP espera indefinidamente pela resposta do servidor, o que pode bloquear a aplicação se o servidor não responder. O timeout padrão é zero, o que significa sem limite de tempo. Sempre defina um timeout razoável em produção para evitar goroutines bloqueadas e vazamentos de recursos.
3Como adicionar headers personalizados a uma requisição HTTP?
Como adicionar headers personalizados a uma requisição HTTP?
Resposta
Os headers personalizados são adicionados via http.Request.Header.Set() ou Header.Add() após criar a requisição com http.NewRequest. O método Set substitui os valores existentes enquanto Add anexa um novo valor para a mesma chave. Essa abordagem é necessária para autenticação, negociação de conteúdo ou rastreamento de requisições com identificadores personalizados.
Por que é importante chamar response.Body.Close()?
Qual método HTTP permite enviar dados JSON ao servidor?
+15 perguntas de entrevista
Outros temas de entrevista Go
Fundamentos de Go
Estruturas de dados em Go
Interfaces em Go
Tratamento de erros
Goroutines básicas
Channels
Go Modules
Servidor HTTP
Codificação JSON
Database/SQL
Pacote context
Testing
Padrões de concorrência
Primitivas de sincronização
Frameworks web Go
Design de API REST
gRPC
Reflection
Gerenciamento de memória
Otimização de desempenho
Generics
Go Design Patterns
Microservices
Segurança e autenticação
Docker & Containerization
Kubernetes Basics
Go Avançado
Desenvolvimento de CLI
Domine Go para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis