http.ListenAndServe() *does* create a new goroutine to handle the process so we don't need to create new goroutines but we do still limit how many handlers can be active