How do you handle HTTP server HTTP/2 in Go?

To handle HTTP/2 in Go, you need to create a server that supports HTTP/2. This can be achieved by creating an http.Server with the http2 package enabled. Here is an example:
HTTP2 Server


package main

import (


func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprintf(w, "Hello, HTTP/2!")

	server := &http.Server{
		Addr: ":8080",

	http2.ConfigureServer(server, &http2.Server{})

	log.Fatal(server.ListenAndServeTLS("server.crt", "server.key"))

In this example, the http2.ConfigureServer function is used to enable HTTP/2 support for the server. The http.Server is then created with the desired configuration and starts listening on the specified port using ListenAndServeTLS.

Note that for HTTP/2 to work, the server must be served over HTTPS, so a certificate and key are required for TLS encryption. In the example above, the ListenAndServeTLS function is used to serve the server over HTTPS.

Most Helpful This Week