У меня есть некоторые мысли о том, как спроектировать мой сервер в узле js. У меня были мысли разрешить или запретить клиенту отправлять данные на сервер по параметрам запроса my.site.com?data=some data by the client
или через тело при использовании метода POST {data:'some data by the client'}
. Я спрашивал:
1) Есть ли правильный способ спроектировать мой сервер с некоторыми ограничениями? Я думаю о том, что данные поступают на сервер без необходимости, так почему принятие этого является хорошей практикой?
2) Если я не должен разрешать клиенту отправлять данные запроса или тела, когда они не нужны, какой статус HTTP я должен вернуть (404 или 400)?
ПРИМЕР
У меня есть путь URI для метода GET, и я ожидаю, что путь будет таким
http://my.site.com/something
или вот так
http://my.site.com/something?search=I search for anything
когда пользователь отправляет мне этот GET URL:
http://my.site.com/something?here=not something that is useful to the server
Должен ли я отправить статус HTTP 400 для BAD REQUEST или 404 для NOT FOUND или ответить 200 OK? И если все в порядке, почему я должен разрешать другие запросы, если сервер их не использует?
Тот же вопрос относится к методу POST, если мне нужно, например
{uname:'username',pwd:'password'}
почему я должен разрешить пользователю отправлять мне например
{uname:'username',pwd:'password',some:'other data here'}
??