Подтвердить что ты не робот

RESTful API: требуется строка пользовательского агента?

У моей команды есть веб-сайт с API RESTful. Мы работаем над тестированием нагрузки, поэтому мы создали небольшое консольное приложение, чтобы забивать его запросами. Это консольное приложение не устанавливает строку пользовательского агента, и это вызывает ошибку в нашем API, потому что это обязательное поле в нашей базе данных.

Итак, должен ли я сделать API более надежным и просто использовать строку по умолчанию (т.е. "неизвестно" ), если пользовательский агент не включен в запрос? Или, должен ли я вернуть ответ 400 Bad Request в этой ситуации? Я знаю, что это возможно, но я ищу стандартный способ сделать это.

4b9b3361

Ответ 1

Поскольку заголовок User-Agent не обязательно требуется присутствовать в HTTP-запросах (spec говорит, заголовок SHOULD должен быть там, а не MUST), ваш API будет более надежным, если он не сможет справиться с этим.

Тем не менее, было бы полезно, чтобы ваше тестовое приложение передало идентификатор User-Agent "тестового приложения" или что-то в этом роде, просто чтобы вы могли отслеживать его в своей базе данных или дросселировать или проецировать тестовый трафик.

Я бы посоветовал вам не использовать User-Agent в качестве окончательного идентификатора клиентского приложения, поскольку он так легко подделан. Звучит не так, как будто вы делаете это, но я думал, что упомянул об этом.