2015-08-31 4 views
0

Я использую HTTP HEAD-запрос для проверки - доступно имя пользовательского логина или нет. Теперь я возвращаю ответ 200 OK, если доступно имя пользователя для входа. Что я могу вернуть, если логин недоступен? Должно быть 409 или 403 или 410 (ушло).Код состояния Http REST для доступного ресурса и недоступен

+0

Это зависит от того, что вы имеете в виду: 'login is not available'? Разве это не существует? Не разрешено? – Kris

+0

Я имею в виду, если имя пользователя доступно для использования во время регистрации. – Greens

+0

Я бы 308 клиент к «{requestusername} 123» или 409. Afaik 423 предназначен только для webdav? – sschrass

ответ

0

Я считаю, что 409 имеет наибольший смысл.

Запрос не может быть выполнен из-за конфликта (имя пользователя уже выполнено).

Этот код разрешен только в ситуациях, когда ожидается, что пользователь сможет разрешить конфликт и повторно отправить запрос.

Ваш ответный орган СЛЕДУЕТ включать достаточную информацию, чтобы пользователь мог понять, что имя пользователя уже выполнено.

Редактировать

410 Ушли ответ не следует использовать, только если запрашиваемый ресурс больше не доступен на сервере и адрес переадресации не известен. Это касается ситуаций, когда запрос-URI временно недоступен. Некоторые предлагают просто использовать 404, если вы считаете, что URI будет недоступен в течение длительного времени.

403 указывает на проблему с фундаментальным доступом. Это сложнее решить, потому что HTTP-протокол позволяет веб-серверу давать этот ответ, не предоставляя никакой причины вообще. Это эквивалентно обложке «НЕТ» на веб-сервере, без дальнейшего обсуждения.