在Delphi中,我使用Indy的TIdHTTPWebBrokerBridge
和TIdHTTP
通过HTTP发送/接收数据。在服务器上,我没有任何花哨的处理,我总是用一个简单的内容流来回应。如果有任何问题,我只会在响应内容中返回有关该问题的信息(如身份验证失败,无效请求等)。那么,在客户端,我可以假设每次成功的请求都会有200(OK)的响应代码?每个成功的HTTP请求是否总是返回状态码200?
我想知道,因为在客户端上,请求被封装在函数中,这些函数只返回一个布尔值来请求成功。
在这个函数:
IdHTTP.Get(SomeURL, AStream);
Result:= IdHTTP.ResponseCode = 200;
这个函数处理这有可能获取数据的任何一个请求。如果请求中有任何问题,该函数应返回False。在我的情况下,由于我总是返回服务器上的某种内容,客户端是否总是会在此函数中收到200的响应代码?
我想真正的问题是,如果我总是回到某种形式的内容和处理服务器上的所有异常,然后将服务器总是返回200状态码每个请求?
我接受你的回答,因为它直接针对我的确切场景,而不是一般的HTTP标准。其他答案虽然非常真实,但假设服务器根据标准响应各种不同的响应,但我的服务器不是标准的。事实上,我故意让安全措施难以工作。 – 2013-03-01 00:14:52
加上你是一个宝贵的资源,因为你是Indy团队的一员:D – 2013-03-01 00:36:37