We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn HTTP Servers in Go

Build the server side of the web: routes, middleware, auth, and APIs in Go.

Also available in:

typescript

What you'll learn in this Go course

Learn how to build and HTTP web server from scratch in the Go programming language. You'll build a production ready JSON API using fairly minimalistic tools. You'll incorporate middleware, routing, logging, webhooks, authentication, authorization, JWTs, and more. This course is the coup-de-grace for any aspiring backend developer.

Chapter List

1
Servers
We'll cover the basics of web servers, and why Go is such a great language for building performant web servers
2
Routing
We'll cover the basics of HTTP routing, and how to build a router using Go's standard library
3
Architecture
We'll talk about some different web architectures, and how to choose the right one for your project
4
JSON
Learn about how to parse and send JSON data from a Go server
5
Storage
We'll add a PostgreSQL database and talk about data storage and database migrations
6
Authentication
We'll build an authentication system using JWTs from scratch, and compare JWTs to other authentication methods
7
Authorization
Learn about how authorization differs from authentication, and how to implement it in your application
8
Webhooks
Webhooks are a special kind of HTTP handler that you'll use often in modern web applications. Learn how to use them here
9
Documentation
Learn about documentation, why it's important, and learn about some tools that can help you write good documentation

Join 12,698 students in the Learn HTTP Servers in Go course

Read reviews of their learning experiences

This... Was a flipping challange...

(5/5)
A L profile image

A L

Sweden

Sooooo goooood

(5/5)
Maxim Sivachenko profile image

Maxim Sivachenko

Odesa

very good hands on lesson

(5/5)
mansur eh profile image

mansur eh

Morocco

Loved the slow progression and building a whole server from scratch without using any frameworks

(5/5)
Coder Python profile image

Coder Python

United Kingdom

fun

(5/5)
Rohit Rajvanshi profile image

Rohit Rajvanshi

India

It was challenging but completing it made everything worth it.

(5/5)
Juan Torres profile image

Juan Torres

Chicago

I actually build something real! Crazy

(5/5)
Paul  profile image

Paul

Germany

this one was a hard one ! but fun !

(5/5)
Andreas Lindh profile image

Andreas Lindh

Sweden

Challenging, combined lots of earlier concepts together

(5/5)
Shayn Hornik profile image

Shayn Hornik

United States

Showing 1-9 of 230

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes. Go is one of the best languages for backend web servers (in our opinion). Its standard library includes a production-ready HTTP server, and goroutines make it easy to handle lots of requests at once.