2016-11-11 41 views
0

我有一個測試應用程序,驗證URL以檢查特定服務是否啓動。問題是,我驗證了一系列URL,它們會向我發送各種HTTP狀態,例如:如何根據HttpStatus代碼找出服務器是否處於活動狀態?

200(OK)有效,302(找到)也是有效的。

但500或404無效。

我不確定哪個Http狀態表明服務已啓動並正在運行?我們是否有白名單或其他可靠的方法來驗證?

+0

如果您收到HTTP狀態碼,那麼該服務已啓動。對於一定的價值。至少,有些東西正在處理HTTP請求併產生響應。它是否超出了這個範圍將是一個特定於應用程序的問題。當然,在收到響應後僅僅幾毫秒,服務狀態*可能與狀態碼告訴你的狀態不同。 –

回答

2

即使獲得200並不意味着服務器正在做你想做的事情,因爲你可以擁有一個處理程序來掩蓋所有的異常或不是。所以完全取決於你想要驗證的內容。如果你只是想檢查服務器是否正在響應,那麼所有的狀態都會執行,因爲甚至500 db的異常意味着你的服務器正在運行並響應你的請求。

通常4xx和5xx是客戶端和服務器錯誤,您可以使用它。只需檢查wiki頁面。但是如果你想要更合理的東西,你需要解析這些響應來驗證它包含你期望的東西。

相關問題