Как 0 булевская переменная false
и 1 a true
, не были должны API в HTTP возвращать response_code 0 для Успеха вместо 1?
Может быть много причин ошибки, и родительский процесс будет часто знать то, что конкретно пошло не так, как надо с дочерним процессом. 0 как таковой используется для успеха, и 1 - 255 обеспечивает гибкость по причине (причинам) отказа.
Например, дочерний процесс мог возвратиться:
1
Файл, не найденный2
Пользователь, не авторизованный3
Файл заблокирован другим процессом4
Соединение, не активное5
Неполная конфигурация6
Процесс отменяется пользователеми т.д., и т.д.
Эти числа представляют ошибку, то есть, если есть ошибка, она устанавливается на любое положительное число (1-255), а если ошибки нет, она устанавливается на 0.
Указание на ошибки как ненулевые целые числа в соответствии со стандартом POSIX, иначе соответствие со Стандартом Unix, в особенности с Кодами ошибки, определенными библиотекой. Эта статья, например, предоставляет хороший обзор статусов выхода. Поэтому безотносительно серверных процессов HTTP, которые мы обсуждаем, они должны стремиться придерживаться этого стандарта, если он ожидает быть портативным через несколько систем, включая Ubuntu и да - обеспечивают 0 на успехе. Если мы говорим об ответах с сервера HTTP ro клиент, то API должен соответствовать использованию кодов состояния HTTP