Какой правильный код состояния HTTP возвращает сервер, когда он ограничивает общее количество соединений? - PullRequest
0 голосов
/ 31 мая 2018

Я сделал простой HTTP-сервер, который прослушивает сокет-соединения.Код сервера ограничивает общее количество подключений, которые он может поддерживать одновременно.

Итак, у меня есть следующие строки:

do {
 new_fd = accept(lfd, NULL, NULL);
 nfds += 1;
 ...
 if(nfds + 1 > ntotal){ // connection limit exceeded
  set_headers( new_fd, /* HTTP status code here */ );
  /* close socket after error had been sent */
 }
}while(1);

В этой ситуации меня интересует код состояния HTTP, который должен серверотправить перед закрытием сокета.

1 Ответ

0 голосов
/ 31 мая 2018

С по этой ссылке появляется 503 - соответствующий код состояния HTTP для отправки на перегруженный сервер.

10.5.4 503 Сервис недоступен

Сервер в настоящее время не может обработать запрос из-за временной перегрузки или обслуживаниясервер.Подразумевается, что это временное состояние, которое будет смягчено после некоторой задержки.Если известно, длина задержки МОЖЕТ быть указана в заголовке Retry-After.Если Retry-After не задано, клиент ДОЛЖЕН обработать ответ так же, как и для ответа 500.

  Note: The existence of the 503 status code does not imply that a
  server must use it when becoming overloaded. Some servers may wish
  to simply refuse the connection.

( полужирный выделение мое)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...