2019獨角獸企業重金招聘Python工程師標準>>>
今天在谷歌瀏覽器上刷新頁面的時候,出現了 如下失敗信息:
HTTP 412 (Precondition Failed)
想想當時的動作是在發送ajax請求失敗之后,再刷新,就會出現上面的失敗問題。百度了下,參考下面的兩個網址:
http://blog.csdn.net/billfeller/article/details/7750774;
http://www.cnblogs.com/gisblogs/p/7121943.html
大體上是講:
Http 新的狀態碼 428 , 這個狀態碼要求 Http 需要滿足一些先決條件(Http Precondition Required),比如:
1:If-None-Match 頭, 經常用在 GET 請求中。如果指定了 If-None-Match , 那么客戶端只在響應中的 ETag 改變后才會重新接收回應.
2:If-Match 頭, 一般用在 PUT 請求上,用于指示只更新但沒有被改變的資源. 這在多個客戶端使用 HTTP 服務時用來防止彼此間覆蓋相同內容的情況.當服務器端使用 428 Precondition Required 狀態碼時,表示客戶端必須發送上述的請求頭才能執行該請求操作。這個方法為服務器提供一種有效的方法來阻止 “lost update”問題的出現。上面一句:必須發送上述的請求頭才能執行該請求操作, 這句話說明之所以會Precondition Failed 就和說的機理有關系, 第一次Ajax之后, 響應的什么屬性沒改變, 導致瀏覽器不會接受新的響應。
?