爲了不CSRF攻擊,將GET請求改成了POST請求。瀏覽器
200 OK:客戶端請求成功;緩存
206 Partial Content:客戶發送了一個帶有Range頭的GET請求,服務器完成了它;(常見於用Vedio標籤播放一個視頻地址,或使用audio播放一個音頻地址,當視頻、音頻文件很大的時候,基本返回206)安全
301 Moved Permanently:所請求的頁面已經轉移至新的url;服務器
302 Found:所請求的頁面已經 臨時 轉移至新的url;併發
304 Not Modified:客戶端有緩衝的文檔併發出了一個條件性的請求,服務器告訴客戶,原來緩衝的文檔還能夠繼續使用。性能
400 Bad Request:客戶端請求有語法錯誤,不能被服務器所理解;(少)編碼
401 Unauthorized:請求未經受權,這個狀態碼必須和www-Authenticate報文域一塊兒使用;(少)url
403 Forbidden:對被請求頁面的訪問被禁止;(多,例如在頁面中有一個地址,不能直接訪問,只能經過服務器訪問)代理
404 Not Found:請求資源不存在;視頻
500 Internal Server Error:服務器發生不可預期的錯誤,原來緩衝的文檔還能夠繼續使用;
503 Server Unavailable:請求未完成,服務器臨時過載或宕機,一段時間後可恢復正常。
補充:XMLHttpRequest 的狀態,XMLHttpRequest.readyState 0: 請求未初始化;1: 服務器鏈接已創建;
2: 請求已接收;
3: 請求處理中;
4: 請求已完成,且響應已就緒;(xmlhttp.readyState==4 && xmlhttp.status==200)
持久鏈接(Connection:keep-alive,HTTP/1.1版本支持,HTTP/1.0版本不支持)
HTTP協議採用「請求-應答」模式,當使用普通模式,即非Keep-Alive模式時,每一個請求/應答客戶和服務器都要新建一個鏈接,完成以後當即斷開鏈接(HTTP協議爲無鏈接的協議)。
當時用Keep-Alive模式(又稱持久鏈接、鏈接重用)時,Keep-Alive功能使客戶端到服務器端的鏈接持續有效,當出現對服務器的後續請求時,Keep-Alive功能避免了創建或從新創建鏈接。
在使用持久鏈接的狀況下,
某個鏈接上消息的傳遞相似於:請求1->響應1->請求2->響應2->請求3->響應3。(->表示中間未斷開)
某個鏈接上的消息變成了相似這樣:請求1->請求2->請求3->響應1->響應2->響應3。(打包請求,打包響應)
HTTP管線化是將多個HTTP要求(request)整批提交的技術,而在傳送過程當中不需先等待服務端的迴應。管線化機制須經過永久鏈接(persistent connection)完成,僅HTTP/1.1支持此技術(HTTP/1.0不支持),而且只有GET和HEAD要求能夠進行管線化,而POST則有所限制。此外,初次建立鏈接時也不該啓動管線機制,由於對方(服務器)不必定支持HTTP/1.1版本的協議。
管線化特色(原理:把請求和響應打包)1.管線化機制經過持久鏈接完成,僅HTTP/1.1支持此技術(*); 2.只有GET和HEAD請求能夠進行管線化,而POST則有所限制(*); 3.初次鏈接時不該啓動管線機制,由於對方(服務器)不必定支持HTTP/1.1版本的協議(*); 4.管線化不會影響響應到來的順序,如上面的例子所示,響應返回的順序並未改變; 5.HTTP/1.1要求服務器端支持管線化,但並不要求服務器端也對響應進行管線化處理,只是要求對於管線化的請求不失敗便可;6.由優於上面提到的服務器端問題,開啓管線化極可能並不會帶來大幅度的性能提高,並且不少服務器端和代理程序對管線化的支持並很差,所以現代瀏覽器Chrome和Firefox默認並未開啓管線化支持。