Go

HTTP Server

net/http, handlers, ServeMux, middleware, request/response, routing, context

24 interview questionsยท
Mid-Level
1

What is the net/http package in Go?

Answer

The net/http package provides functionality for creating HTTP servers and clients. It includes types like http.Server, http.Handler, http.Request, http.ResponseWriter and functions like ListenAndServe. It's Go's standard library for HTTP, used in most web applications without external dependencies.

2

How to create a simple HTTP server in Go?

Answer

The http.ListenAndServe function starts an HTTP server on a given port with a handler. It takes two parameters: the address (e.g. ':8080') and a handler (can be nil to use DefaultServeMux). It's the simplest method to start a server, it blocks until an error occurs.

3

What is an http.Handler in Go?

Answer

An http.Handler is an interface with a single method ServeHTTP(ResponseWriter, *Request). Any type implementing this method can handle HTTP requests. It's the basic contract for creating custom handlers, middleware and routers. All Go web frameworks use this interface as foundation.

4

What is the difference between http.Handler and http.HandlerFunc?

5

What is http.ServeMux used for?

+21 interview questions

Master Go for your next interview

Access all questions, flashcards, technical tests, code review exercises and interview simulators.

Start for free