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

Browse Lessons (read-only)

What will you learn?

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 11,158 students in the Learn HTTP Servers in Go course

Read reviews of their learning experiences

This course is understandable and you'll really learn the basics on building a server. It cements the things you need to be able to do and lets you learn everything you need to know to get a server up and running. It touches on a lot of different aspects, so you'll understand software, networking and security in a more thorough way. Would recommend!

(5/5)
Thijs Dekker profile image

Thijs Dekker

Utrecht, the Netherlands

more difficult than previous ones

(5/5)
Peter  profile image

Peter

Netherlands

Very solid course, I feel like I learned a lot about database migrations and endpoints / routing and middleware.

(5/5)
Trindon Woolsey profile image

Trindon Woolsey

United States

Fantastic, really satisfying

(5/5)
Sam Mumford profile image

Sam Mumford

SoCal, CA, USA

perfect course and good level of difficulty for introducing new and relevant content

(5/5)
Huy Pham profile image

Huy Pham

Adelaide, Australia

really really good teaches a lot of fundamentals that can be used when building other servers

(5/5)
Omar Najib Zamir profile image

Omar Najib Zamir

Dhaka, Bangladesh

Great foray into working with json, http requests, tokens, authentication.

(5/5)
Kyle Chermak profile image

Kyle Chermak

United States

hard lesson made me struggle in a good way

(5/5)
Ambuj Seth profile image

Ambuj Seth

Lucknow, India

Super basic things, would be cool to see some complicated SQL queries, different authentication types - like one user can write & read, another only read. More details on how to maintain lots of routes, how to build project structure for that.

(4/5)
Артем Лапкин profile image

Артем Лапкин

Ukraine

Showing 1-9 of 183

Browse Lessons (read-only)

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! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.