В Delphi я использую Indy TIdHTTPWebBrokerBridge
в сочетании с TIdHTTP
для отправки/получения данных через HTTP. На сервере у меня нет никакой привлекательной обработки, я всегда отвечаю простым потоком контента. Если есть какие-либо проблемы, я возвращаю информацию об этой проблеме только в ответном контенте (например, при неудачной аутентификации, неверном запросе и т.д.). Итак, на стороне клиента могу ли я предположить, что каждый успешный запрос, который я делаю на этот сервер, всегда будет иметь код ответа 200 (OK)?
Мне интересно, потому что на клиенте запросы обернуты внутри функций, которые возвращают только логическое значение для успеха запроса.
Внутри этой функции:
IdHTTP.Get(SomeURL, AStream);
Result:= IdHTTP.ResponseCode = 200;
Эта функция обрабатывает любой запрос, который может извлекать данные. Если в запросе были какие-либо проблемы, эта функция должна возвращать False. В моем сценарии, так как я всегда возвращаю какой-то контент на сервер, будет ли клиент всегда получать код ответа 200 в этой функции?
Я предполагаю, что реальный вопрос заключается в том, что если я всегда возвращаю какой-то контент и обрабатываю все исключения на сервере, тогда сервер всегда будет возвращать код состояния 200 для каждого запроса?