Go

Cliente HTTP

http.Client, requests, timeouts, transport, redirecionamentos, cookies, headers personalizados

18 perguntas de entrevista·
Mid-Level
1

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.

2

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.

3

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.

4

Por que é importante chamar response.Body.Close()?

5

Qual método HTTP permite enviar dados JSON ao servidor?

+15 perguntas de entrevista

Domine Go para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis