# HTTP Client (Go) > http.Client, requests, timeouts, transport, redirects, cookies, custom headers - 18 interview questions - Mid-Level - [Interview Questions: Go](https://sharpskill.dev/en/technologies/go/interview-questions.md) ## 1. What is the main difference between http.Get and http.Client.Get? **Answer** http.Get uses a default HTTP client (http.DefaultClient) that offers no customization, while http.Client.Get allows configuring parameters like timeouts, redirect policies, or custom transport. In production, it is recommended to create a custom HTTP client to control request behavior and avoid indefinite blocking. ## 2. What happens if http.Client.Timeout is not set? **Answer** Without an explicit timeout, the HTTP client waits indefinitely for the server response, which can block the application if the server doesn't respond. The default timeout is zero, meaning no time limit. Always set a reasonable timeout in production to avoid blocked goroutines and resource leaks. ## 3. How to add custom headers to an HTTP request? **Answer** Custom headers are added via http.Request.Header.Set() or Header.Add() after creating the request with http.NewRequest. The Set method replaces existing values while Add appends a new value for the same key. This approach is necessary for authentication, content negotiation, or tracking requests with custom identifiers. ## 15 more questions available - Why is it important to call response.Body.Close()? - Which HTTP method allows sending JSON data to the server? Sign up for free: https://sharpskill.dev/en/login ## Other Go interview topics - [Go Basics](https://sharpskill.dev/en/technologies/go/interview-questions/go-basics.md): 25 questions, Junior - [Go Data Structures](https://sharpskill.dev/en/technologies/go/interview-questions/go-data-structures.md): 20 questions, Junior - [Go Interfaces](https://sharpskill.dev/en/technologies/go/interview-questions/go-interfaces.md): 18 questions, Junior - [Error Handling](https://sharpskill.dev/en/technologies/go/interview-questions/error-handling.md): 20 questions, Junior - [Goroutines Basics](https://sharpskill.dev/en/technologies/go/interview-questions/goroutines-basics.md): 20 questions, Junior - [Channels](https://sharpskill.dev/en/technologies/go/interview-questions/channels.md): 22 questions, Junior - [Go Modules](https://sharpskill.dev/en/technologies/go/interview-questions/go-modules.md): 18 questions, Mid-Level - [HTTP Server](https://sharpskill.dev/en/technologies/go/interview-questions/http-server.md): 24 questions, Mid-Level - [JSON Encoding](https://sharpskill.dev/en/technologies/go/interview-questions/json-encoding.md): 20 questions, Mid-Level - [Database/SQL](https://sharpskill.dev/en/technologies/go/interview-questions/database-sql.md): 22 questions, Mid-Level - [Context Package](https://sharpskill.dev/en/technologies/go/interview-questions/context-package.md): 20 questions, Mid-Level - [Testing](https://sharpskill.dev/en/technologies/go/interview-questions/testing.md): 22 questions, Mid-Level - [Concurrency Patterns](https://sharpskill.dev/en/technologies/go/interview-questions/concurrency-patterns.md): 24 questions, Mid-Level - [Sync Primitives](https://sharpskill.dev/en/technologies/go/interview-questions/sync-primitives.md): 22 questions, Mid-Level - [Go Web Frameworks](https://sharpskill.dev/en/technologies/go/interview-questions/go-web-frameworks.md): 20 questions, Mid-Level - [REST API Design](https://sharpskill.dev/en/technologies/go/interview-questions/rest-api-design.md): 20 questions, Mid-Level - [gRPC](https://sharpskill.dev/en/technologies/go/interview-questions/grpc.md): 22 questions, Mid-Level - [Reflection](https://sharpskill.dev/en/technologies/go/interview-questions/reflection.md): 20 questions, Senior - [Memory Management](https://sharpskill.dev/en/technologies/go/interview-questions/memory-management.md): 24 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/go/interview-questions/performance-optimization.md): 22 questions, Senior - [Generics](https://sharpskill.dev/en/technologies/go/interview-questions/generics.md): 20 questions, Senior - [Go Design Patterns](https://sharpskill.dev/en/technologies/go/interview-questions/design-patterns.md): 24 questions, Senior - [Microservices](https://sharpskill.dev/en/technologies/go/interview-questions/microservices.md): 24 questions, Senior - [Security & Authentication](https://sharpskill.dev/en/technologies/go/interview-questions/security-authentication.md): 24 questions, Senior - [Docker & Containerization](https://sharpskill.dev/en/technologies/go/interview-questions/docker-containerization.md): 20 questions, Senior - [Kubernetes Basics](https://sharpskill.dev/en/technologies/go/interview-questions/kubernetes-basics.md): 22 questions, Senior - [Advanced Go](https://sharpskill.dev/en/technologies/go/interview-questions/advanced-go.md): 20 questions, Senior - [CLI Development](https://sharpskill.dev/en/technologies/go/interview-questions/cli-development.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/go/interview-questions/http-client