- Ожидания запроса клиента.
- TLS-рукопожатие (TLS handshake — если оно включено).
- Чтение заголовков запроса.
- Чтение тела запроса.
- Отправка ответа.
ПРИМЕЧАНИЕ TLS-рукопожатие не нужно повторять при уже установ- ленном соединении.
Пять шагов HTTP-ответа и соответствующие тайм-ауты
s := &http.Server{
Addr: ":8080",
ReadHeaderTimeout: 500 * time.Millisecond,
ReadTimeout: 500 * time.Millisecond,
Handler: http.TimeoutHandler(handler, time.Second, "foo"),
}http.TimeoutHandler пришёл на замену http.Server.WriteTimeout, у которого были проблемы
Какие ещё настройки можно оптимизировать:
http.Server.disableKeepAlives
http.Server.IdleTimeout