1xx:指示信息--表示請求已接收,繼續處理html
2xx:成功--表示請求已被成功接收、理解、接受web
3xx:重定向--要完成請求必須進行更進一步的操做瀏覽器
4xx:客戶端錯誤--請求有語法錯誤或請求沒法實現緩存
5xx:服務器端錯誤--服務器未能實現合法的請求服務器
200 OK 表示請求成功 一切正常併發
301 Moved Permanently 重定向,客戶請求的文檔在其餘地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URLpost
302 Found 臨時重定向,相似於301,但新的URL應該被視爲臨時性的替代,而不是永久性的。搜索引擎
304 Not Modified 客戶端有緩衝的文檔併發出了一個條件性的請求。服務器告訴客戶,原來緩衝的文檔還能夠繼續使用。spa
307 Temporary Redirect 臨時重定向,與302相似,只是強制要求使用POST方法。.net
400 Bad Request 請求出現語法錯誤。
401 Unauthorized 客戶試圖未經受權訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據此顯示用戶名字/密碼對話框,而後在填 寫合適的Authorization頭後再次發出請求。
403 Forbidden 資源不可用。服務器理解客戶的請求,但拒絕處理它。一般因爲服務器上文件或目錄的權限設置致使
404 Not Found 沒法找到指定位置的資源。
405 Method Not Allowed 請求方法(GET、POST、HEAD、Delete、PUT、TRACE等)對指定的資源不適用。
500 Internal Server Error 服務器遇到了意料不到的狀況,不能完成客戶的請求。
501 Not Implemented 服務器不支持實現請求所須要的功能。
502 Bad Gateway 服務器做爲網關或者代理時,爲了完成請求訪問下一個服務器,但該服務器返回了非法的應答。
301 狀態碼(Moved Permanently) 301狀態碼在HTTP1.0和HTTP1.1規範中均表明永久重定向,對於post請求的重定向,仍是須要用戶確認以後才能重定向,而且應該以post方法發出重定向請求。 關於post請求重定向用戶確認的問題,實際上瀏覽器都沒有實現;並且post請求的重定向應該發起post請求,這裏瀏覽器也並不必定遵照,因此說HTTP規範的實現並未嚴格按照HTTP規範的語義。
302 狀態碼(Moved Temporatily) 在http 1.0規範中,302表示臨時重定向。出現該狀態代碼時,瀏覽器可以自動訪問新的URL。 規範:原請求是get,能夠自動重定向;原請求是post,則不能自動進行重定向。 實現:瀏覽器和服務器的實現並無嚴格遵照HTTP中302的規範,瀏覽器即使原請求是post也會自動重定向,致使規範和實現出現了二義性,由此衍生了一些問題,譬如302劫持,所以在HTTP 1.1中將302的規範細化成了303和307,但願以此來消除二義性。
補充:302劫持——A站經過重定向到B站的資源xxoo,A站實際上什麼都沒作可是有一個比較友好的域名,web資源xxoo存在B站並由B站提供,可是B站的域名不那麼友好,所以對搜索引擎而言,可能會保存A站的地址對應xxoo資源而不是B站,這就意味着B站出了資源版權、帶寬、服務器的錢,可是用戶經過搜索引擎搜索xxoo資源的時候出來的是A站,A站什麼都沒作卻被索搜引擎廣而告之用戶,B站作了一切卻不被用戶知道,價值被A站竊取了。
303 狀態碼(See Other) 繼承了HTTP 1.0中302的實現:不管原請求是get仍是post,均可以自動進行重定向 303響應應該禁止被緩存。重定向的相應可能被緩存。
307 狀態碼 繼承了HTTP 1.0中302的規範:原請求是GET 或 HEAD,則瀏覽器能夠自動重定向;原請求是 POST,則不能自動進行重定向。
30二、30三、307 狀態碼辨析 在HTTP 1.1中,302是再也不推薦使用的,只是爲了兼容而做保留。爲了細化HTTP1.0中302的語義,HTTP1.1引入了 303 和 307,主要用在對非 GET、HEAD 方法的響應上,而對於 GET 和 HEAD 的請求,能夠自動重定向。
在 GET、HEAD 這些冪等的請求方式上,30二、30三、307 沒啥區別,而對於 POST 就不一樣了,大部分瀏覽器的302 會將 POST 請求轉爲 GET,而 303 規範強制將 POST 轉爲 GET 請求,請求地址爲 header 頭中的 Location,307 則不同,規範要求瀏覽器繼續向 Location 的地址 POST 內容。
:memo: 303 和 307 的存在,歸根結底是因爲 POST 方法的非冪等屬性引發的。
HTTP狀態碼 HTTP狀態碼 HTTP狀態碼詳解 http重定向301/302/303/307