我意識到這可能聽起來像一個奇怪的問題,但我在網絡調用中看到一些奇怪的結果,所以我試圖弄清楚是否我誤解了某些東西。200表示請求是否成功啓動或成功完成?
我看到在隔離事件中,當我上傳數據時,即使響應爲200,數據也不會出現在服務器上。我的猜測是,在最初的HTTP握手期間,200響應到達,然後在事實之後出現問題。這是對事件順序的正確解釋嗎?或者一旦服務器收集了發送Header告訴它在請求中的任何數據,就會發送200? (如果是這樣,那麼我回到了繪圖板,看看我看到了什麼)。
我意識到這可能聽起來像一個奇怪的問題,但我在網絡調用中看到一些奇怪的結果,所以我試圖弄清楚是否我誤解了某些東西。200表示請求是否成功啓動或成功完成?
我看到在隔離事件中,當我上傳數據時,即使響應爲200,數據也不會出現在服務器上。我的猜測是,在最初的HTTP握手期間,200響應到達,然後在事實之後出現問題。這是對事件順序的正確解釋嗎?或者一旦服務器收集了發送Header告訴它在請求中的任何數據,就會發送200? (如果是這樣,那麼我回到了繪圖板,看看我看到了什麼)。
這意味着它已經成功完成。從HTTP /1.1 Spec
10.2.1 200 OK
The request has succeeded. The information returned with the response is dependent on the method used in the request, for example:
GET an entity corresponding to the requested resource is sent in the response;
HEAD the entity-header fields corresponding to the requested resource are sent in the response without any message-body;
POST an entity describing or containing the result of the action;
TRACE an entity containing the request message as received by the end server.
是的,不幸的是,這就是我的想法,雖然這真的是令人困惑,因爲我看到的是,我正在從我的Android應用程序發送文件到服務器(到php監聽器),然後我刪除文件,當我從服務器獲得200響應...但是,該文件的1 /〜100倍不會出現在服務器上。我意識到我可以通過校驗和或其他方法進行二次確認,但是我真的很困惑這是如何發生的。我希望這是一個片狀的移動網絡連接問題,並且在最初的連接時收到了200。 –
@ Dr.Dredel你刪除你的Android應用程序或服務器上的文件?來自Android應用程序的HTTP調用的內容類型是什麼? – Jetti
這是正確的。我沒有面前的代碼,但我將其設置爲與來自瀏覽器的分段上傳相同。這不是正確的做法嗎?它*似乎在絕大多數時間都有效。 –
完成。否則就沒有意義了。有些東西可能會出錯,代碼可能會引發錯誤。當服務器已經發送200 OK時,服務器如何發送該錯誤代碼。
遇到什麼可能是滯後,緩存,獨立線程中運行後,服務器發送的200等
甲成功應答(如200),將不發送直至服務器已收到之後和處理完整的請求。另一方面,錯誤答覆可能在請求被完全接收之前發送。如果發生這種情況,請停止發送請求。
它應該返回狀態碼201,創建。或者202接受。 –
我個人在嘗試跨域AJAX請求時遇到了帶有空/空響應的'200'響應。有一個Web服務器設置,可以允許服務上下文跨域AJAX請求。可能會或可能與您的使用無關。 – pztrick